上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页
摘要: 值得一提的是,Java的AtomXXX类并不是使用了锁的方式进行同步,而是采用了一种新的理念,叫做CAS(Compare And Swap)CAS是一组CPU原语指令,用来实现多线程下的变量同步(原子操作)。在 X86下的指令CMPXCHG实现了CAS,前置LOCK既可以达到原子性操作。 由于CAS 阅读全文
posted @ 2018-06-20 18:16 FrankYou 阅读(2460) 评论(0) 推荐(0) 编辑
摘要: logback的简单配置: POM引用: 阅读全文
posted @ 2018-06-19 12:05 FrankYou 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 一、logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块: logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了sl 阅读全文
posted @ 2018-06-19 11:08 FrankYou 阅读(339) 评论(0) 推荐(0) 编辑
摘要: SnowFlake所生成的ID一共分成四部分: 1.第一位占用1bit,其值始终是0,没有实际作用。 2.时间戳占用41bit,精确到毫秒,总共可以容纳约69 年的时间。 3.工作机器id占用10bit,其中高位5bit是数据中心ID(datacenterId),低位5bit是工作节点ID(work 阅读全文
posted @ 2018-06-08 16:54 FrankYou 阅读(2389) 评论(0) 推荐(0) 编辑
摘要: Java HmacSHA1算法 阅读全文
posted @ 2018-06-05 13:44 FrankYou 阅读(6747) 评论(0) 推荐(1) 编辑
摘要: ThreadLocal解决什么问题 由于 ThreadLocal 支持范型,如 ThreadLocal< StringBuilder >,为表述方便,后文用 变量 代表 ThreadLocal 本身,而用 实例 代表具体类型(如 StringBuidler )的实例。 不恰当的理解写这篇文章的一个原 阅读全文
posted @ 2018-05-28 11:31 FrankYou 阅读(427) 评论(0) 推荐(0) 编辑
摘要: package Threads; import com.google.common.collect.Maps; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * Crea... 阅读全文
posted @ 2018-05-21 17:24 FrankYou 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 当使用volatile时,修改线程对static MY_INT值的修改,另一个侦听线程(读MY_INT的值)是可以及时读取到的,输出结果如下: 当不使用volatile时,修改线程对static MY_INT值的修改,另一个侦听线程(读MY_INT的值)可能完全读取不到(无感知),可能的输出结果如下 阅读全文
posted @ 2018-05-21 16:26 FrankYou 阅读(1446) 评论(3) 推荐(1) 编辑
摘要: Tomcat中一个会话对应一个session,其实现类是StandardSession,查看源码,可以找到一个attributes成员属性,即存储session的数据结构,为ConcurrentHashMap,支持高并发的HashMap实现; 那么,tomcat中多个会话对应的session是由谁来 阅读全文
posted @ 2018-05-21 11:39 FrankYou 阅读(1558) 评论(0) 推荐(1) 编辑
摘要: 一、cookie机制和session机制的区别*************************************************************************************具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是 阅读全文
posted @ 2018-05-21 11:01 FrankYou 阅读(255) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadPoolExecutor; /** * FixThreadPoolExecutorTest 定义一个可重用的固线程数的线程池 */ public cla... 阅读全文
posted @ 2018-05-18 17:09 FrankYou 阅读(9277) 评论(1) 推荐(0) 编辑
摘要: import java.util.LinkedList; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * ConditionTest * 一个测试类,用Co... 阅读全文
posted @ 2018-05-18 10:19 FrankYou 阅读(325) 评论(0) 推荐(0) 编辑
摘要: Lock类也可以实现线程同步,而Lock获得锁需要执行lock方法,释放锁需要执行unLock方法 Lock类可以创建Condition对象,Condition对象用来使线程等待和唤醒线程,需要注意的是Condition对象的唤醒的是用同一个Condition执行await方法的线程,所以也就可以实 阅读全文
posted @ 2018-05-17 17:52 FrankYou 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 转载:https://www.jianshu.com/p/ae97b692614e?from=timeline JVM体系结构 JVM是一种解释执行class文件的规范技术。 JVM体系结构 我翻译的中文图: 中文图 类装载器子系统 在JVM中负责装载.class文件(一种8位二进制流文件,各个数据 阅读全文
posted @ 2018-05-15 16:43 FrankYou 阅读(8012) 评论(0) 推荐(1) 编辑
摘要: 转载:https://mp.weixin.qq.com/s/M8YyxloxZnMACH9QCQN7HA Volatile的特征: A、禁止指令重排(有例外) B、可见性 Volatile的内存语义: 当写一个volatile变量时,JMM会把线程对应的本地内存中的共享变量值刷新到主内存。 当读一个 阅读全文
posted @ 2018-05-15 14:02 FrankYou 阅读(358) 评论(0) 推荐(0) 编辑
摘要: echo "Enter BKS output file name : \c" read filename echo "Enter BKS Password : \c" read BKSPWD echo "Enter P12 or PFX file : \c" read p12File if [ ! -f $p12File ] then echo "$p12File file is mi... 阅读全文
posted @ 2018-05-14 16:34 FrankYou 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 1)Java 中能创建 volatile 数组吗?能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组。我的意思是,如果改变引用指向的数组,将会受到 volatile 的保护,但是如果多个线程同时改变数组的元素,volatile 标示符就不能起到之前的保护 阅读全文
posted @ 2018-05-07 17:15 FrankYou 阅读(210) 评论(0) 推荐(0) 编辑
摘要: openssl x509 -inform der -in /d/ty.cer -pubkey -noout > /d/certificate_publickey.pem 阅读全文
posted @ 2018-05-02 13:22 FrankYou 阅读(3445) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-04-26 11:03 FrankYou 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 普通的Java对象实例 和 Java数组实例。Java数组实例的对象头多了一个数组的长度。Java虚拟机可以通过普通java对象的元数据来确定java对象的大小,但是从数组的元数据中却无法确定数组的大小。 阅读全文
posted @ 2018-04-25 14:08 FrankYou 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。 阅读全文
posted @ 2018-04-23 15:07 FrankYou 阅读(1491) 评论(0) 推荐(0) 编辑
摘要: 1. 中断 Linux内核要对连接到计算机上的所有硬件设备进行管理,首先要能和它们互相通信。从所周知,处理器的速度跟外围硬件设备的速度往往不在一个数量级上。所以,需要一种机制,如果轮询(polling)是一种解决办法,可以让内核定期对设备的状态进行查询,然后做出相应的处理,但这让内核做了不少无用功。 阅读全文
posted @ 2018-03-26 10:46 FrankYou 阅读(21796) 评论(0) 推荐(7) 编辑
摘要: 下面将要介绍的是一组非常非常重要的寄存器,即 CS:IP 。 CS:IP 两个寄存器指示了 CPU 当前将要读取的指令的地址,其中 CS 为代码段寄存器,而 IP 为指令指针寄存器 。 什么叫做指示了 CPU 当前将要读取的指令呢?在 8086 CPU 中,为什么 CPU 会自动的执行指令呢? 这些 阅读全文
posted @ 2018-03-23 18:06 FrankYou 阅读(18571) 评论(0) 推荐(4) 编辑
摘要: 转载| 最近在使用Google的Gson包进行Json和Java对象之间的转化,对于包含泛型的类的序列化和反序列化Gson也提供了很好的支持,感觉有点意思,就花时间研究了一下。 由于Java泛型的实现机制,使用了泛型的代码在运行期间相关的泛型参数的类型会被擦除,我们无法在运行期间获知泛型参数的具体类 阅读全文
posted @ 2018-03-22 14:54 FrankYou 阅读(3767) 评论(0) 推荐(0) 编辑
摘要: JDBC 连接池 org.apache.tomcat.jdbc.pool 是 Apache Commons DBCP 连接池的一种替换或备选方案。 那究竟为何需要一个新的连接池? 原因如下: Commons DBCP 1.x 是单线程。为了线程安全,在对象分配或对象返回的短期内,Commons 锁定 阅读全文
posted @ 2018-03-16 14:30 FrankYou 阅读(1901) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页