JAVA
文章平均质量分 88
安然_随心
这个作者很懒,什么都没留下…
展开
-
Java线程池:ThreadPoolExecutor
以下基于JDK 1.8 进行分析文章目录1 简介2. 创建线程池3. 线程池运行3.1 预启动核心线程3.1.1 prestartCoreThread3.1.2 prestartAllCoreThreads3.2 提交任务的方式3.2.1 execute3.2.2 submit 系列方法3.2.3 其他说明3.3 工作线程3.3.1 工作线程任务执行过程3.3.2 工作线程什么时候退出、运行结束4 结束线程池4.1 shutdown()4.2 shutdownNow()5. 问题5.1 工作线程5.2原创 2020-10-19 13:13:29 · 313 阅读 · 0 评论 -
java Synchronized 锁
原文地址:https://www.cnblogs.com/mr-ziyoung/p/13085213.html文章目录锁优化锁升级Java 对象头偏向锁撤销偏向锁轻量级锁重量级锁总结Synchronized关键字,用来给一段代码加上一个锁,从而实现多个线程在访问同一资源对象锁的时候进行同步执行(也即串行执行)。它是一个独享、非公平、悲观的锁。锁优化在使用锁的时候,JVM会对包含锁的代码进行锁优化,锁优化包括两种:锁消除和锁粗化。锁消除锁消除可以通过JVM的参数来设置,-XX:+DoEsca转载 2020-10-17 17:38:12 · 258 阅读 · 0 评论 -
JMX,RMI与RPC
参考文献:https文章目录1. RPC1.1 RMI1.2 hessian://1.3 http://1.4 thrift://1.5 rest://2. RMI2.1 示例2.1.1 Server端2.1.2 client端:3.JMX3.1 基本概念3.2 JMX的架构3.3 示例3.3.1 MBean3.3.2 Agent 与MBeanServer3.3.3 client3.3.4 其...原创 2018-10-23 19:57:55 · 2458 阅读 · 0 评论 -
缓存
文章目录1.简介1.1 Web应用缓存分类1.2 缓存中的几个常用术语1.3 缓存设计需要解决以下几个问题2.客户端缓存之HTT缓存2.1 HTTP报文2.2 缓存规则解析2.3 强制缓存2.4 对比缓存2.5 总结3.服务器端缓存之分布式缓存3.1一致性Hash算法3.1.1算法简述3.1.2 容错性与可扩展性分析3.1.3虚拟节点3.1.4算法实现(待完善)3.2 分布式缓存:Redis(待完...转载 2018-10-03 22:55:57 · 405 阅读 · 0 评论 -
Java JMX 一:初步认识
原文地址:https://www.cnblogs.com/trust-freedom/p/6842332.html文章目录1.简介2.JMX HelloWorld2.1 Bean2.2 Agent and Server2.3 Client2.3.1 编码方式访问bean2.3.2 Jconsole远程连接1.简介JMX的全称为Java Management Extensions,是管理Ja...转载 2018-10-03 18:25:07 · 5881 阅读 · 2 评论 -
Java数据库连接池
文章目录1.简介1.1 DriverManager跟DataSource获取getConnection 的区别1.2 实例:使用DriverManger的例子1.3 实例:使用DataSource的例子1.2.1 配置1.2.2 DataSource初始化并获取连接1.2.3 通过connection进行数据库操作2.DataSource的简单实现3.常用数据库连接池3.1 DBCP3.2 c3p...转载 2018-10-03 13:22:17 · 633 阅读 · 0 评论 -
红黑树
参考文献: http://www.cnblogs.com/yangecnu/p/Introduce-Red-Black-Tree.html http://blog.csdn.net/iamxiaoguizi/article/details/52080043 http://www.cnblogs.com/yangecnu/p/Introduce-2-3-Search-Tree.html1.定义性原创 2016-10-05 18:14:57 · 535 阅读 · 0 评论 -
标注
标注:一种元数据,用来说明代码的特性,不属于程序本身,也不会对被标注的代码产生任何影。 1.标注的作用 a:为编译器提供信息,如去检测错误或是“不提示警告” b:Compile-time and deployment-time processing — Software tools can process annotation information to generate code, XML f原创 2016-10-07 12:37:40 · 1213 阅读 · 0 评论 -
Java新特性:接口新特性
Java 8增加了两个新的概念在接口声明的时候:默认和静态方法。 默认方法和Trait有些类似,但是目标不一样。默认方法允许我们在接口里添加新的方法,而不会破坏实现这个接口的已有类的兼容性,也就是说不会强迫实现接口的类实现默认方法。(如为了支持流,对集合接口添加的stream()方法,为了保持接口的兼容性,这些方法都是default方法) 默认方法和抽象方法的区别是抽象方法必须要被实现,默认方法原创 2016-10-04 13:43:56 · 845 阅读 · 0 评论 -
Java 集合框架分析:ArrayDeque java1.8
ArrayDeque源码分析 目录 1.ArrayDeque介绍 2.主要方法分析 3.总结ArrayDeque介绍 实现了Deque接口,作为双向的队列使用 特点: 1.不允许null元素 2.无界的,容器满时,自动扩容 3.不是线程安全的。 4.比起作为deque使用时,比linkedlist快(注意:是作为deque,比linkedlist快,而不是作为一个普通的array原创 2016-08-10 11:46:34 · 787 阅读 · 0 评论 -
关于ClassNOtFoundException异常
在项目中,使用了一个JAR包,单独运行Jar包时(Java -jar jarname.jar),正常,但是将Jar包导入eclipse中,调用jar包就出现了各种错误,都是ClassNOtFoundException。开始手动将这些所引用的项目引入到项目buildpath中,后来烦的不行,因为导入一个项目,解决了一个问题。又有了一个新的类说找不到。后来回头一想,为什么CMD直接运行就可以呢?这是什么原创 2016-08-15 17:00:57 · 13104 阅读 · 0 评论 -
JAVA中的一些基本知识
1. Enum和String的相互转化 见例子:enum PathExceptionType { EmpytPath, EmptyMethodPathChain, EmptyUnitChain, ReviseError, NullUnitNode, NullUnitNodeToString, DeadLoop, Unkown} /原创 2016-08-26 22:40:57 · 1048 阅读 · 0 评论 -
Java堆栈信息分析
以下数据使用Jconsole转储文件中得来,不同的工具,不同的虚拟机得到的具体信息可能有差别栈转储信息转储方式通过Jconsole工具(或者其他分析工具) "Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x142b7400 nid=0x280 runnable [0x00000000] java.lang.Thread.State: R原创 2016-08-27 17:38:21 · 7221 阅读 · 0 评论 -
java7,8中的String pool
参考文献: http://blog.csdn.net/chen1280436393/article/details/51768609 http://java-performance.info/string-intern-in-java-6-7-8/ http://blog.csdn.net/heiyouhei123/article/details/51560166关于String poolwh原创 2016-08-27 21:52:14 · 1903 阅读 · 0 评论 -
Java资料汇总
专业词汇解释: http://hllvm.group.iteye.com/group/topic/21468#post-272070HotSpot专业词汇 http://openjdk.java.net/groups/hotspot/docs/HotSpotGlossary.html#safepoint http://openjdk.java.net/groups/hotspot/gc相关原创 2016-08-28 12:15:11 · 490 阅读 · 0 评论 -
GC(1.安全点的相关知识)
目录: 1.安全点的相关知识 1.1 OOPMap 2. GC基本算法 3. G1算法 4. 通过Reference和GC交互 5. GC友好编程安全点的相关知识主要有如下几个问题: 1.什么是安全点 2.安全点的位置 3.安全点的管理、实现 4.什么场景、功能需要安全点的配合 5.Safe Reg原创 2016-10-03 15:10:32 · 7836 阅读 · 0 评论 -
GC(1.1OOPMap)
调用栈里的引用类型数据是GC的根集合(root set)的重要组成部分;找出栈上的引用是GC的根枚举(root enumeration)中不可或缺的一环。 JVM选择用什么方式会影响到GC的实现:如果JVM选择不记录任何这种类型的数据,那么它就无法区分内存里某个位置上的数据到底应该解读为引用类型还是整型还是别的什么。这种条件下,实现出来的GC就会是“保守式GC(conservative GC)”。在转载 2016-10-03 15:12:37 · 3400 阅读 · 0 评论 -
Java JMX 三:Connector
参考文献:JMXServiceURL : https://docs.oracle.com/javase/7/docs/api/javax/management/remote/JMXServiceURL.htmlJMXConnector :https://docs.oracle.com/javase/7/docs/api/javax/management/remote/JMXConnector....原创 2018-11-20 20:12:49 · 2995 阅读 · 0 评论 -
Java JMX 二:MBean and MBean Server
参考文献:https://docs.oracle.com/cd/E19698-01/816-7609/index.html文章目录1.MBean2.ObjectName3.MBeanServer3.1 MBeanServer接口1.MBeanMBean分为如下四种类型描述standard MBean这种类型的MBean最简单,它能管理的资源(包括属性,方法,时间)必须...原创 2018-11-21 22:05:17 · 5111 阅读 · 0 评论 -
Java运行参数设置
文章目录1.概述2. 标准参数2.1 运行模式相关的2.2 类,jar路径相关的2.3 运行调试相关的2.4 设置系统变量的-D参数3. 非标准参数(-X)3.1 堆栈配置、垃圾回收3.2 编译优化相关的3.3 调试、 监控3.4 其他4. 非Stable参数(-XX)4.1 相关相关的(主要是gc算法)4.2 性能调优参数列表4.3 调试参数列表附录:Java程序支持的所有运行参数列表1.概述...原创 2018-11-19 22:13:30 · 5631 阅读 · 0 评论 -
ASM库
文章目录1 简介2. java字节码结构 3.asm 对字节码的描述、建模与处理 4.asm 的基于事件的核心API 5. ASM 中的 `ClassVisitor` 抽象类 6.使用asm解析已有的类的示例6.1 继承ClassVistor类,打印出所有访问(visit)到的数据6.2 将ClassPrinter(ClassVistor) 与ClassReader绑定,使得ClassReade...原创 2018-12-25 16:30:33 · 1290 阅读 · 0 评论 -
jdk/bin下相关工具
参考文献:文章目录1. jar包相关的1. jar包相关的jar包解压: jar xvf XX.jar制作jar包:jar cvfM XX.jar . (注意:后面有一个点,表示将当前目录下的文件添加到jar包中。M参数是为了不生成多余的meta目录)...原创 2018-12-24 15:39:33 · 1407 阅读 · 1 评论 -
jvm attach api
文章目录1. 简介2.主要接口与类2.1 class VirtualMachine2.1.1 概述2.1.2 方法2.1.3 使用示例2.2 Class AttachPermissionattach 实现1. 简介关于Attach API:This is a Sun private mechanism that allows an external process to start a th...原创 2018-12-12 09:13:33 · 3051 阅读 · 0 评论 -
Java中的代理
InvacationHandler原创 2018-12-28 16:06:03 · 230 阅读 · 0 评论 -
Guava(草稿)
参考文献:http://ifeve.com/google-guava/文章目录0.简介1. 基本工具 [Basic utilities]1.1 使用和避免null1.2 前置条件类1.3 常见Object方法: 简化Object方法实现1.4 排序: Guava强大的”流畅风格比较器”1.5 Throwables:简化了异常和错误的传播与检查2. 集合[Collections]2.1 不可变集合...原创 2018-11-26 18:19:44 · 193 阅读 · 0 评论 -
Guava EventBus
文章目录1. EventBus基本用法2. 特殊事件为Dead Event3. Event的继承EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。1. EventBus基本用法使用Guava之后, 如果要订阅消息, 就不用再继承指...原创 2018-12-17 20:15:37 · 412 阅读 · 0 评论 -
jre/lib/security/java.security
jre/lib/security/java.security可在该文件中对jre进行安全配置,如配置支持的加密算法、tls不支持忽略的算法等原创 2018-12-17 11:08:23 · 6454 阅读 · 2 评论 -
面试题(java,java web,网络,操作系统,数据库,算法,设计应用,其他)
文章目录1.基础知识1.1.常用类与语法1.2.集合1.3 IO1.4 并发1.4.1.并发-调度、线程状态相关1.4.2 并发-通信与锁1.4.3 并发-场景编程关1.5.JVM2.网络2.1.TCP/IP协议2.2.Java Web2.2.1.Servlet2.2.3.持久层2.2.4.性能2.3.服务器2.4.Web编程2.5.浏览器、网络应用3.算法、程序3.1.图3.2.树3.3.链表3...原创 2019-02-02 17:51:14 · 862 阅读 · 1 评论 -
JPDA(jaa platform debugger architecture)
参考文献:https://www.ibm.com/developerworks/cn/java/j-lo-jpda1/index.html?ca=drs-https://www.ibm.com/developerworks/cn/java/j-lo-jpda2/http://www.ibm.com/developerworks/cn/java/j-lo-jpda3/index.html?ca...原创 2018-12-12 15:47:59 · 3447 阅读 · 1 评论 -
Java HttpClient(二:连接与状态管理、认证与cache)
参考文献:http://hc.apache.org/httpcomponents-client-ga/tutorial/html/文章目录1.1.原创 2018-12-03 14:53:33 · 1389 阅读 · 1 评论 -
Java HttpClient(一:基础对象、类说明)
参考文献:http://hc.apache.org/http://hc.apache.org/httpcomponents-client-ga/tutorial/html/http://hc.apache.org/httpcomponents-client-ga/examples.htmlHTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程...原创 2018-11-27 21:48:55 · 4662 阅读 · 0 评论 -
java Json/xml/properties文件处理
文章目录解析json文件解析xml文件解析properties文件解析json文件解析xml文件解析properties文件原创 2018-11-30 15:02:57 · 1747 阅读 · 0 评论 -
Java util中的实用工具类(1:Optional与Objects)
文章目录1. Optional 类(since 1.8)1.1 构造1.2 类方法列表1.3 常用用法1.4 示例2. Objects类(since 1.7)2.1 方法列表2.2常用方法说明1. Optional 类(since 1.8)https://docs.oracle.com/javase/8/docs/api/java/util/Optional.htmlhttps://blog...原创 2018-11-26 20:22:08 · 1832 阅读 · 0 评论 -
Java JMX 四:MBeanServerInvocationHandler
参考文献:https://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServerInvocationHandler.html相关文章:Java JMX 一:初步认识:https://blog.csdn.net/youyou1543724847/article/details/82933076Java JMX 二:MBea...原创 2018-11-25 21:25:20 · 749 阅读 · 0 评论 -
网络编程(一)——浅析web服务器与浏览器的实现原理
我们基本每天都在通过WEB浏览器,去浏览一些新闻,看看视频之类的。众所周知,这就是所谓的B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。1.Server与浏览器通信协议那顺道就来简单的看一下,所谓的Web服务器(例如知名的Tomcat)与浏览器,基本的实现原理是什么样的呢?首先可以明确的就是,例如我们所...转载 2018-11-17 21:44:21 · 3731 阅读 · 0 评论 -
GC(2.基本算法)
主要问题:1.GC判断对象是否存活算法 2.GC垃圾收集算法 3.JVM虚拟机GC回收算法 4.优化1.GC判断对象是否存活算法1> 引用计数算法 2> 根搜索算法(GC Root)根搜索算法在主流的商用程序语言中(Java和C#,甚至包括前面提到的古老的Lisp),都是使用根搜索算法(GC Roots Tracing)判定对象是否存活的。这个算法的基本思路就是通过一系列的名为“GC Ro原创 2016-10-03 15:27:28 · 1972 阅读 · 0 评论 -
GC(G1算法)
Java 8 默认的 GC是Parallel GC。Oracle正在考虑将JEP 248包含到Java 9的JEP列表中,即在服务器配置中将G1作为默认垃圾收集器。The Garbage-First (G1) garbage collector is fully supported in Oracle JDK 7 update 4 and later releasesGarbage First(G1转载 2016-10-03 15:36:26 · 10724 阅读 · 1 评论 -
GC(通过Reference和GC交互)
##Java中相关概念 ReferenceQueue WeakReference SoftReference PhantomReference WeakHashMapJava2 增强了内存管理功能,增加了一个java .lang.ref 包,其中定义了三种引用类。这三种引用类分别为SoftReference、 WeakReference和 PhantomReference.通过使用这些引用原创 2016-10-03 15:49:27 · 1678 阅读 · 0 评论 -
java 1.8 ThreadLocal源码分析
参考资料: http://www.cnblogs.com/dolphin0520/p/3920407.html http://blog.csdn.net/lufeng20/article/details/24314381 http://blog.csdn.net/devilkin64/article/details/79166301. 关于ThreadLocal创建线程局部私有的变量,避免多线原创 2016-09-07 16:31:56 · 2012 阅读 · 0 评论 -
Java并发:多线程
线程的生成的方法主要有: 1.Runable,Callable,Future,FutureTask 2.Thread 3.线程池1.Runnable,Callable,Future,FutureTask相关知识 Runnable,Callable的区别: Runnable:位于java.lang包中。由于run()方法返回值为void类型,所以在执行完任务之后无法返回任何结果。 Calla原创 2016-10-04 22:16:02 · 743 阅读 · 0 评论