![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 63
yinnnnnnn
这个作者很懒,什么都没留下…
展开
-
5分钟从零搭建一个maven工程
什么是maven?maven是一个项目管理工具。主要提供两大功能:一个包管理器,类似于nodejs的npm,另外一个是构建自动化编译,有点类似于cmake。极大方便java项目开发过程中的包管理和自动化构建过程。如何安装maven?官网下载地址: https://maven.apache.org/download.cgi 下载zip解压到本地,把bin目录加到环境变量中。 cmd执行原创 2017-03-27 23:20:47 · 782 阅读 · 1 评论 -
effective Java读书笔记:创建和销毁对象
第1条:考虑用静态工厂方法代替构造器静态工厂方法与构造器不同,有以下几个优势: 1. 静态方法有名称。 构造器的参数本身没有确切地描述返回的对象,静态工厂方法可以,比如:newInstance() 2. 不必在每次调用他们的时候都创建一个新对象。 说白了,可以在静态工厂方法里面控制实例是否可重用,可以缓存对象等。Boolean.valueOf(boolean)就是一个很好的例子。原创 2017-05-01 18:07:36 · 460 阅读 · 0 评论 -
java容器梳理
一:一图胜千言 Collection 存放独立元素的序列。提供一些处理容器类静态方法,比如二分查找,排序等等。Collection下又有三个子接口,List,Set,Queue。List一个有序的Collection(也称序列),元素可以重复。确切的讲,列表通常允许满足 e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null原创 2017-04-21 09:05:57 · 420 阅读 · 0 评论 -
Java 枚举类型
1. 简介看java关于单例的实现博客: http://coolshell.cn/articles/265.html 里面都提到通过枚举实现单例,周末抽空看了java枚举类型,做个记录。Java枚举类型背后的基本想法非常简单:他们就是通过公有的静态final域为每个枚举常量导出实例的类。因为没有可以访问的构造器,枚举类型是真正的final。因为客户端既不能创建枚举类型的实例,也不能对它进原创 2017-05-14 22:58:21 · 340 阅读 · 0 评论 -
byte[]与String转换引起的protobuf反序列化抛异常问题
使用protobuf时,将string写入ssdb然后再读出来反序列化protobuf message的时候报错:com.google.protobuf.InvalidProtocolBufferException: While parsing a protocol message, the input ended unexpectedly in the middle of a field. Th原创 2017-03-23 15:42:49 · 44578 阅读 · 6 评论 -
effective Java读书笔记-通用程序设计
最近继续在翻阅《Effective Java》,这是一本java的经典书籍,需要好好研究研究,现记录一些自己学到的新知识点。1.for-each循环优先于传统的for循环java 1.5发行版本以前遍历的做法:for(Iterator i = c.iterator;i.hasNext();){ doSomething((Element)i.next);}java 1.5发行版本引入for-原创 2017-05-29 19:50:31 · 434 阅读 · 0 评论 -
《Java多线程编程核心技术》笔记
前言《Java多线程编程核心技术》这本书例子太多,基本占一半的篇幅都是例子代码,真正的干货比较少,记录几点新知识。synchronized和volatile关键词区别关键词volatile是线程同步的轻量级实现,性能好,volatile只能修饰变量,而synchronized可以修饰方法以及代码块。多线程访问volatile不会发生阻塞,而synchronized会出现阻塞;volatile能原创 2017-07-16 12:46:16 · 607 阅读 · 0 评论 -
java多线程基础
java多线程基础java实现多线程有两种方式: - 一种是继承Thread类 - 另一种是实现Runnable接口 那么,两者有什么区别呢?public class Thread implements Runnable从上面的Thread源码可以看出,Thread类实现了Runnable接口,他们具有多态关系,因此区别就是:使用Thread类的方式创建新线程不支持多继承,因为java语言的特原创 2017-07-08 17:40:35 · 330 阅读 · 0 评论