- 博客(47)
- 收藏
- 关注
转载 Java并发包梳理
1.容器接口:BlockingDeque(双端队列),BlockingQueue,ConcurrentMap,ConcurrentNavigableMap:有序的map,可以按照key进行范围操作,获取正反序视图,获取子集等等。key按照Comparator或key的自然顺序(实现的Comparable接口)进行排序。类:ArrayBlockingQueu...
2019-09-04 18:14:00 151
转载 Docker使用
1.根据Dockerfile新建docker镜像在指定目录下新建Dockerfile文件,并将程序安装包拷贝到该目录下修改Dockerfile#指定基于jdk镜像FROM xxx/library/java:8u111-jdk-alpine#指定docker容器中的工作目录,之后的操作基于此目录WORKDIR /home/zjc/macs#将/zjc...
2019-08-26 15:36:00 137
转载 JNA的使用
>>版权声明:本文为原创文章,请不要拷贝转载。1.JNA资料 https://github.com/java-native-access/jna 这份说明中讲的还是蛮细的,参数映射,指针,回调函数等等都有涉及,源码中还有一些例子。2.使用例子引入依赖<dependency> <grou...
2019-07-03 16:56:00 439
转载 关于Java的新发现
>>版权声明:本文为原创文章,请不要拷贝转载。1.前言 在平时工作学习中会接触到一些新的知识点,很多不会经常用到或者来不解总结。所以,先记录在这里。免得以后完全忘了还有这东西。2.新发现EnumMap,专门用于枚举的容器方法引用,1.8新特性(pepole::sing),是lamda表达式的变异,相当于()->{...
2019-01-17 16:23:00 109
转载 设计模式专辑——策略模式、状态模式、访问者模式的比较
>>版权声明:本文为原创文章,请不要拷贝转载。1.比较(状态模式)(策略模式)(访问者模式)这三种模式有类似的地方,其中状态模式和策略模式相似度非常高,通过类图根本无法区分。那么我们怎么去理解这三个模式呢。其实这三个模式都可以看做是某种状态与相应处理策略(处理逻辑)的协作关系的表述。我们先看访问者模式的类图,图中的...
2019-01-16 20:19:00 495
转载 设计模式专辑——中介模式、观察者模式的比较
观察者:存在一对多的关系。>>版权声明:本文为原创文章,请不要拷贝转载。1.比较(中介模式)(观察者模式) 中介模式和观察者模式都包含类似通知的概念。我们可以把这两种模式看成是消息的收发交互关系的体现。 中介模式中存在Mediator和Colleague两个角色,Mediator一般不会主动发起事件去通知Col...
2019-01-16 19:14:00 167
转载 设计模式专辑——对象池模式、多例模式、享元模式的比较
>>版权声明:本文为原创文章,请不要拷贝转载。1.比较(多例模式)(享元模式) 这三个模式都会对实例对象进行维护、复用。 但就设计目的而言,多例模式就如单例一样,纯粹是为了控制实例数量,使用这种模式的类,通常是作为程序某个模块的入口。享元和对象池的设计目的相近,主要是为了节省系统资源,它们维护和共享的通常是...
2019-01-16 13:40:00 482
转载 设计模式专辑——适配器模式、桥接模式、装饰器模式、代理模式的比较
>>版权声明:本文为原创文章,请不要拷贝转载。1.比较(适配器模式)(桥接模式)(装饰器模式)(代理模式)把这四个模式放在一起感觉相当微妙。笼统的讲,它们都似乎是间接引用real object,是对real object的封装,接口与实现的分离。他们之间的区别是很微妙的,尤其是适配器和桥接之间,装饰...
2019-01-16 11:20:00 260
转载 设计模式专辑——概览
1.前言 写这个东西的目的,主要是为了自己能更好的掌握,并且灵活应用模式。其实大家在平时工作中有意无意的会用到很多模式,但并没有仔细总结梳理,所以也是借此机会对以往开发设计做些总结、思考。 那么,由于设计模式的资料太多,解读各异,部分模式的解释非常模糊,令人费解。为了统一标准,这里参考维基百科作为基准。维基百科中已经对每个模式都做了详细的说明,而且相关资料也很丰...
2019-01-15 13:44:00 124
转载 设计模式专辑——单例的懒汉模式和饿汉模式
>>本文转自“Java知音“1.懒汉模式代码1//懒汉式单例模式//在类加载时,不创建实例,因此类加载速度快,但运行时获取对象的速度慢public class LazySingleton{ private static LazySingleton instance = null; private LazySingleton(){}...
2018-04-11 09:29:00 102
转载 Java内部类
>>版权声明:本文为原创文章,请不要拷贝转载。1.四种内部类介绍 https://www.cnblogs.com/hasse/p/5020519.html 2.为什么成员内部类可以直接访问外部类的成员原因在于内部类中包含了一个外部类的final引用。编译后内部类和外部类分别生成独立的class。反编译内部类的class可以发现,...
2018-04-10 13:12:00 73
转载 Mysql版本、安装、设置、命令
>>版权声明:本文为原创文章,请不要拷贝转载。1.Mysql版本MySQL Enterprise Edition 企业版,收费MySQL Cluster CGE 高级集群版,收费MySQL Community Server 社区版,免费,开源MySQL Cluster 社区集群版,免费,开源MariaDB Mysql分支,免费,开源2.My...
2017-03-29 22:19:00 122
转载 模板
>>版权声明:本文为原创文章,请不要拷贝转载。1.第一部分xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2.第二部分xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx转...
2017-03-28 17:20:00 77
转载 关于数组
数组的读取是高效的。(数组要比链表快)1.容易预测的访问模式(数组内元素的内存地址的连续性存储的)2.数组中的元素是会被预加载的(因为只要一个元素被加载到缓存行,其他相邻的几个元素也会被加载进同一个缓存行)3.你可以为数组预先分配内存,使得数组对象一直存在(除非程序终止)。这就意味着不需要花大量的时间用于垃圾回收转载于:https://www.cnblogs.com/ba...
2016-08-04 13:19:00 74
转载 java小技巧
1.遍历集合1.如果你要不停的读取同一个数组(从0-length,再从0-length),你会需要一个标识i不停的增加来表示当前读取的位置。你怎么能快速的算出当前是数组中的那个位置x呢?(1)一般的方式i++if(i>=length){ i=0; x=i;}(2)比较好的方式i++x=i%length;...
2016-08-04 11:18:00 76
转载 Multi-Reader / Single Writer
单独写,注意,队列并不符合单独写原则,队列的读取操作是一种改变数据结构的操作,即是一种写。转载于:https://www.cnblogs.com/barker/p/5735671.html
2016-08-04 10:26:00 273
转载 乐观锁和悲观锁
乐观锁并不一定比悲观锁效率高。以CAS为例,在资源高度竞争的情况下,线程会发现自己得到的资源总是在被快速的修改,此时线程会陷入“获取、修改、比较”的循环之中,在这个情况下,你无法确定线程需要在此种循环中花费多久。而如果采用悲观锁,每次修改花费的时间是相对固定的。所以在资源高度竞争的情况下还是使用悲观锁比较好。转载于:https://www.cnblogs.com/bark...
2016-08-03 16:49:00 155
转载 C中char在java中处理
c中的char是一个字节,java中用两个字节来表示一个字符。这个要注意c里面的char到java中应该用byte来接收。转载于:https://www.cnblogs.com/barker/p/5631958.html...
2016-07-01 09:37:00 868
转载 C中的无符号整数在java中的处理
C中的无符号整数在java中的处理 * 因为java中整数都是有符号的,这意味着java中的整数比C中的无符号整数少一位有效数字, * 比如:32768用C无符号整数int16表示是正常的,但用java short(占两个字节)表示则变成了负数 * 所以在java中应该找有效数字位数更大的类型来表示 * 比如:无符号int16在取到2个字节之后应该用int表示 * 无符号int3...
2016-06-21 10:20:00 331
转载 socket编程(三)——Nio模式
直接缓冲区和非直接缓冲区:非直接缓冲区写入步骤:1.创建一个临时的直接ByteBuffer对象。2.将非直接缓冲区的内容复制到临时缓冲中。3.使用临时缓冲区执行低层次I/O操作。4.临时缓冲区对象离开作用域,并最终成为被回收的无用数据。如果采用直接缓冲区会少一次复制过程,如果需要循环使用缓冲区,用直接缓冲区可以很大地提高性能。虽然直接缓冲区使JVM可以进行高效的I/o操作,但它使用的...
2016-05-05 17:36:00 108
转载 socket编程(二)——Socket模式
Socket编程注意点:Socket connect(SocketAddress endpoint, int timeout)方法:连接到服务器,并指定一个超时值。超时值零被解释为无限超时。在建立连接或者发生错误之前,这个方法一直处于阻塞状态。【在编写程序时这个超时值最好设置上】Socket setSoTimeout方法:Socket的read方法是一个阻塞方法,setSoTim...
2016-04-26 16:24:00 196
转载 无锁设计——CAS
cas即compareand swap,java.util.concurrent.atomic中的类都是这个原理。转载于:https://www.cnblogs.com/barker/p/5407947.html
2016-04-19 13:58:00 291
转载 Runnable、Callable和Future、RunnableFuture、FutureTask
Runnable和CallableRunnable接口只有一个方法:public abstract interface Runnable{ public abstract void run();}Callable接口也只有一个方法:public abstract interface Callable<V>{ public a...
2016-04-07 20:35:00 74
转载 atomic包
http://ifeve.com/java-atomic/http://www.blogjava.net/xylz/archive/2010/07/08/325587.html转载于:https://www.cnblogs.com/barker/p/5362124.html
2016-04-07 09:12:00 71
转载 Event Loop
http://www.ruanyifeng.com/blog/2013/10/event_loop.html转载于:https://www.cnblogs.com/barker/p/5344968.html
2016-04-01 14:53:00 64
转载 线程组ThreadGroup
public class Example7 { public static void main(String[] args) { Thread newThread = new Thread(new Runnable() { @Override public void ...
2016-02-01 15:53:00 92
转载 守护线程
守护线程与用户线程的区别只在于线程结束的时机。执行以下代码,你会发现虽然daemonThread线程内部定义了一个死循环,但整个程序任然会在userThread执行完成之后不久自动退出。public class Example6 { public static void main(String[] args) { final Thread us...
2016-02-01 14:55:00 65
转载 好代码赏析
1.这个方法使用键值作为锁对象,缩小了同步范围,提升了效率。public <T> ServerBootstrap childOption(ChannelOption<T> childOption, T value) { if (childOption == null) { throw new NullPointe...
2016-02-01 11:12:00 212
转载 锁
1.内部锁每个Java对象都可以隐式地扮演一个用于同步的锁的角色,这些内置的锁被称为内部锁或监视器锁。获取锁:获取内部锁的唯一途径是,进入这个内部锁保护的同步块或方法。退出锁:无论通过正常控制路径退出,还是从块中抛出异常,线程都在放弃对synchronized块的控制是自动释放锁。2.互斥锁内部锁在Java中扮演了互斥锁(mutex)的角色,意味着至多只有一个线...
2016-02-01 11:00:00 88
转载 sychronized
Java提供了强制原子性的内置锁机制:synchronized块。一个synchronized块有两部分:锁对象的引用(作为锁的对象一定要是final的,保证锁对象不会被重新赋值),以及这个锁保护的代码块。public class Example5 { final static Object lock = new Object(); static...
2016-02-01 09:53:00 93
转载 volatile关键字、原子性和可见性
1.volatile关键字理解volatile的关键首先要理解处理器缓存和主存。如果将一个域声明为volatile,那么只要对这个域产生了写操作,那么所有读操作都可以看到这个修改,即volatile域的写操作会向主存刷新。同步synchronized也会导致向主存中刷新,所以如果一个域完全由synchronized保护就不必设置为volatile。2.原子性和可见性可...
2016-02-01 09:06:00 240
转载 log4j注意事项
1.不应该大范围,跨多线程共用loger对象。代码1-1public void callAppenders(LoggingEvent event){ int writes = 0; for (Category c = this; c != null; c = parent) { synchronize...
2015-10-10 10:30:00 116
转载 java程序bat文件启动
1.将项目导出成jar包。2.在项目的META-INF文件夹中找到MANIFEST.MF,在其中加入一下一行文字: Main-Class: 类的全限定名3.新建一个文件,修改扩展名为batjava -jar xx.jar pause将bat文件与jar包放在一起。4.运行bat文件即可执行Main-Class。转载于:h...
2015-07-29 12:34:00 387
转载 css基础
1.权值: 标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。例如下面的代码:p{color:red;} /*权值为1*/p span{color:green;} /*权值为1+1=2*/.warning{color:white;} /*权值为10*/p span.warning{color:purple;} /*权值为1+1+10=12*/...
2015-05-21 09:17:00 83
转载 CSS阻止页面双击选中文本
http://www.w3cui.com/?p=141当点击连续点击箭头按钮时会出现蓝色部分。这个问题也是双击选中文本引起的。转载于:https://www.cnblogs.com/barker/p/4423059.html...
2015-04-13 19:37:00 239
转载 Access-Control-Allow-Origin
Access-Control-Allow-Origin转载于:https://www.cnblogs.com/barker/p/4414351.html
2015-04-10 13:34:00 81
转载 javascript学习
2015/4/21.Object.createhttps://msdn.microsoft.com/zh-cn/library/ff925952Animal = Object.create(Object);Animal.getName = function() { return this.name;};Dog = Object.create(Anim...
2015-04-02 18:53:00 59
转载 垂直居中
当设置一个行内元素的line-height的值等于其父元素的height的值时候,就会显示垂直居中效果。关于行高:http://www.cnblogs.com/rainman/archive/2011/08/05/2128068.html转载于:https://www.cnblogs.com/barker/p/4386795.html...
2015-04-02 14:09:00 49
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人