
java
会走的桃子
这个作者很懒,什么都没留下…
展开
-
Java的基本类型
基本类型.Java的基本类型主要分为整数型,浮点型,字符型,布尔型。 整数型:byte,short,int,long; 浮点型:float,double 布尔型:boolean 字符型:char基本类型的大小 1byte:8bit,一个bit代表一个1或者0,是计算机的基本单位。 byte:1byte short:2 byte ...原创 2019-10-17 14:54:40 · 635 阅读 · 0 评论 -
记一次Java线上服务器CPU过载问题的排查过程
最近测试环境的订单模块经常性的挂掉,查看其CPU使用率达到177%。CPU占用高一般是由以下情况导致的:代码中存在死循环,导致应用一直占用着cpu。某一张表数据量极大,查出来进行处理极其耗时,这时一般还伴随着内存溢出异常。内存中存在虚拟机无法回收的对象,当内存不足的时候,gc一直在运行,导致CPU使用率飙升。要确认是由于哪一种情况导致,一般可以按照以下步骤确定。一. 使用TOP命令...原创 2019-08-28 18:02:38 · 1726 阅读 · 0 评论 -
JAVA多线程基础
线程状态初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready)。就绪状态的线程在获得...转载 2019-02-12 14:18:44 · 192 阅读 · 0 评论 -
javassist官方文档翻译
文章目录读写字节码定义一个新类冻结类类搜索路径ClassPool避免内存溢出层叠 ClassPool通过改变类名来定义新类通过重命名冻结类来定义新的类类加载器3.1 CtClass.toClass( ) 方法3.2 Java中的类加载器3.3 使用 javassist.Loader3.4编写类加载器3.5 修改系统类3.6 运行时重载类反射和自定义4.1 在方法的开头/结束插入源代码$0, $1,...翻译 2019-05-05 17:20:27 · 805 阅读 · 0 评论 -
排序算法
十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。转载 2019-04-28 23:13:19 · 175 阅读 · 0 评论 -
HashMap实现原理及源码分析
文章目录哈希表哈希表转载 2019-04-28 22:51:54 · 107 阅读 · 0 评论 -
JVM
文章目录JVM内存结构Java内存模型Java对象模型Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模型和Java对象模型,这就是三个截然不同的概念,但是很多人容易弄混。可以这样说,很多高级开发甚至都搞不不清楚JVM内存结构、Java内存模型和Java对象模型...转载 2019-04-09 15:18:37 · 146 阅读 · 0 评论 -
JUC锁
根据锁的添加到Java中的时间,Java中的锁,可以分为"同步锁"和"JUC包中的锁"。同步锁即通过synchronized关键字来进行同步,实现对竞争资源的互斥访问的锁。Java 1.0版本中就已经支持同步锁了。同步锁的原理是,对于每一个对象,有且仅有一个同步锁;不同的线程能共同访问该同步锁。但是,在同一个时间点,该同步锁能且只转载 2019-02-14 14:19:47 · 263 阅读 · 0 评论 -
JUC原子类
文章目录数据类型AtomicInteger, AtomicLong, AtomicBooleanAtomicIntegerArray, AtomicLongArray, AtomicReferenceArray数据类型根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;数组类型: A...转载 2019-02-12 16:51:54 · 731 阅读 · 0 评论 -
RabbitMQ
简介AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持...转载 2018-11-21 16:13:09 · 194 阅读 · 0 评论 -
JAVA基础
Java中存在着两种Random函数:java.lang.Math.Random;调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。java.util.Random下面Random()的两种构造方法:Random():创建一...转载 2018-11-07 14:23:11 · 347 阅读 · 0 评论 -
JDK源码分析-ServletContext
ServletContextServlet容器在启动时会加载Web应用,并为每个Web应用创建唯一的ServletContext对象。可以把ServletContext看作一个Web应用的服务器端组件的共享内存。在ServletContext中可以存放共享数据public class CounterServlet extends HttpServlet { @Override...转载 2018-10-31 10:56:10 · 115 阅读 · 0 评论