#深入理解Java函数式编程

Java 8 Optional 良心指南,建议收藏

想学习,永远都不晚,尤其是针对Java8里面的好东西,Optional就是其中之一,该类提供了一种用于表示可选值而非空引用的类级别解决方案。作为一名Java程序员,我真的是烦透了NullPointerException(NPE),尽管和它熟得就像一位老朋友,知道它也是迫不得已——程序正在使用一个对象却发现这个对象的值为...

想要成为一名优秀的Java程序员,你需要这8个锦囊

私底下,隔三差五就有读者问我:“二哥,怎么样才能像你一样,成为一名优秀的Java开发者呢?”假如把“怎么才能像你一样”去掉的话,这个问题就是一个好问题,否则的话,总有点彩虹屁的嫌疑。但话说回来,我喜欢这种提问的艺术。从上大学那会学Java到现在,我已经积攒了10多年的编程经验,虽然离优秀还有很长的距离,但总归是可以分享...

不要写很酷但同事看不懂的Java代码

你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。为了提高Java编程的技艺,我最近在GitHub上学习一些高手编写的代码。下面这一行代码(出自大牛之手)据说可以征服你的朋友,让他们觉得你写的代码很6,来欣赏一下吧。IntStream.range(1, 5).boxed().map(i&n...

如何快速打好Java基础?

二哥,我是一名大学生,专业是电力工程,但想自学Java,如何快速打好基础呢?微信上tison向我提出了这个问题。我想我是有资格来回答的,从北京奥运会那年开始学Java,到现在已经有10多个年头了,真的是从一名编程白痴一步步走到现在的。我在各大技术网站上分享了不少Java方面的原创文章,不知道影响了多少初学者,反正文章的...

Java 并发编程(一):简介

这篇文章的标题原本叫做——Java并发编程(一):简介,作者名叫小二。但我在接到投稿时觉得这标题不够新颖,不够吸引读者的眼球,就在发文的时候强行修改了标题(也不咋滴)。小二是一名Java程序员,就职于沉默公司,工龄是两年零一个月零三天。和刚毕业那会相比,编程能力已经大有提升,但领导老王一直没敢把...

Java 并发编程(三):如何保证共享变量的可见性?

上一篇,我们谈了谈如何通过同步来保证共享变量的原子性(一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行),本篇我们来谈一谈如何保证共享变量的可见性(多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值)。我们使用同步的目的不仅是,不希望某个线程在使用对象状...

重学Java(一):与《Java编程思想》的不解之缘

 说起来非常惭愧,我在2008年的时候就接触了Java,但一直到现在(2018年10月10日),基础知识依然非常薄弱。用一句话自嘲就是:十年IT老兵,Java菜鸡一枚。于是,我想,不如静下心来,重新读一遍那些经典的Java技术书,并且没读完一章就输出一篇原创技术文章。从哪一本开始呢?想了一想,还是从《Java...

Java 并发编程(二):如何保证共享变量的原子性?

线程安全性是我们在进行Java并发编程的时候必须要先考虑清楚的一个问题。这个类在单线程环境下是没有问题的,那么我们就能确保它在多线程并发的情况下表现出正确的行为吗?我这个人,在没有副业之前,一心扑在工作上面,所以处理的蛮得心应手,心态也一直保持的不错;但有了副业之后,心态就变得像坐过山车一样。副业收入超过主业的时候,人...

Java 网络编程:必知必会的 URL 和 URLConnection

java.net.URL类将URL地址进行了封装,并提供了解析URL地址的基本方法,比如获取URL的主机名和端口号。java.net.URLConnection则代表了应用程序和URL之间的通信链接,可用于读取和写入此URL引用的资源。URLConnection看起来只是比URL多了一个Connection,它们之间的...

Java Socket:飞鸽传书的网络套接字

在古代,由于通信不便利,一些聪明的人就利用鸽子会飞且飞得比较快、会辨认方向的优点,对其进行了驯化,用来进行消息的传递——也就是所谓的“飞鸽传书”。而在Java中,网络套接字(Socket)扮演了同样的角色。套接字(Socket)是一个抽象层,应用程序可以通过它发送或接收数...

Java内存映射,上G大文件轻松处理

内存映射文件(Memory-mappedFile),指的是将一段虚拟内存逐字节映射于一个文件,使得应用程序处理文件如同访问主内存(但在真正使用到这些数据前却不会消耗物理内存,也不会有读写磁盘的操作),这要比直接文件读写快几个数量级。稍微解释一下虚拟内存(很明显,不是物理内存),它是计算机系统内存管理的一种技术。像施了妖...

Java:控制反转(IoC)与依赖注入(DI)

很长一段时间里,我对控制反转和依赖注入这两个概念很模糊,闭上眼睛想一想,总有一种眩晕的感觉。但为了成为一名优秀的Java工程师,我花了一周的时间,彻底把它们搞清楚了。01、紧耦合在我们编码的过程中,通常都需要两个或者更多的类通过彼此的合作来实现业务逻辑,也就是说,某个对象需要获取与其合作对象的引用,如果这个获取的过程需...

温故而知新,重温 Java 7 的那些“新”特性

2009年4月20日,Java的亲生父亲Sun被养父Oracle以74亿美元收购,这在当时可是一件天大的事。有不少同学都担心Java的前途,我当时傻不啦叽地也很担心:自己刚学会如何通过记事本编写Java代码,然后通过cmd打印HelloWorld呢,这一下难道白学了?但其实这种担心是多余的,因为Java并不会陪葬,毕竟...

Java:前程似锦的 NIO 2.0

Java之所以能够霸占编程语言的榜首,其强大、丰富的类库功不可没,几乎所有的编程问题都能在其中找到解决方案。但在早期的版本当中,输入输出(I/O)流并不那么令开发者感到愉快:1)JDK1.4之前的I/O没有缓冲区的概念、不支持正则表达式、支持的字符集编码有限等等;2)JDK1.4的时候引入了非阻塞I/O,也就是NIO1...

Java 代码界 3% 的王者?看我是如何解错这 5 道题的

前些日子,阿里妹(妹子出题也这么难)发表了一篇文章《悬赏征集!5道题征集代码界前3%的超级王者》——看到这个标题,我内心非常非常激动,因为终于可以证明自己技术很牛逼了。但遗憾的是,凭借8年的Java开发经验,我发现这五道题自己全解错了!惨痛的教训再次证明,我是那被秒杀的97%的工程师之一。不过,...
首页上一页...695696697698699...下一页尾页