菜菜

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Java

Java各种问题
摘要:添加fastJson和序列化修饰 阅读全文
posted @ 2018-05-08 17:45 好吧,就是菜菜 阅读(759) 评论(0) 推荐(0) 编辑

摘要:HPROF工具能搜集CPU使用信息通过注入代码到每个方法进入点和退出点.因此能够统计方法真实调用次数和花费的时间. 它使用BCI(Byte Code Injection),所以比cpu=samples慢.下面是样例输出 $ javac -J-agentlib:hprof=cpu=times Hello.java CPU TIME (ms) BEGIN (total = 2082665289) W... 阅读全文
posted @ 2018-04-09 00:26 好吧,就是菜菜 阅读(181) 评论(0) 推荐(0) 编辑

摘要:HPROF工具通过对采样线程搜集CPU使用信息.以下是从运行的javac中样例输出的一部分. $ javac -J-agentlib:hprof=cpu=samples Hello.java CPU SAMPLES BEGIN (total = 462) Wed Oct 4 13:33:07 2006 rank self accum count trace method 1 49... 阅读全文
posted @ 2018-04-09 00:07 好吧,就是菜菜 阅读(224) 评论(0) 推荐(0) 编辑

摘要:Heap Dump (heap=dump) 转储堆内容使用heap=dump选项.可以是ASCII或者是二进制格式,根据设定的格式,jhat解析二进制格式.format=b. 如果指定格式是二进制,转储内容包括原始类型实例域和原始数组内容. 以下命令生成的转储内容来自正在执行的javac编译命令. javac -J-agentlib:hprof=heap=dump Hello.java 内容包含... 阅读全文
posted @ 2018-04-08 23:53 好吧,就是菜菜 阅读(470) 评论(0) 推荐(0) 编辑

摘要:基于动态链接库实现,可用于性能分析,锁内容.诊断memory leak问题等.获得堆开辟信息 java -agentlib:hprof=heap=sites ToBeProfiledClass 帮助文档 java -agentlib:hprof=help - Get sample cpu information every 20 millisec, with a stack depth of ... 阅读全文
posted @ 2018-04-07 21:38 好吧,就是菜菜 阅读(142) 评论(0) 推荐(0) 编辑

摘要:Java VisualVm 提供可视化界面展示运行在JVM上应用的信息.这些信息可用于诊断剖析应用. Jconsole Jconsole是基于JMX监视工具.Jconsole使用内置的JMX在java虚拟机执行,它提供应用性能和资源分配信息. jmap jmap可以从Java进程,核心文件,远程调试服务中获得内存信息,包括堆图. jps jps列出目标系统上执行HotSpot虚拟机命令.... 阅读全文
posted @ 2018-04-06 22:04 好吧,就是菜菜 阅读(159) 评论(0) 推荐(0) 编辑

摘要:项目就一个java文件,仅用于样例 Dockerfile 关于sh -c 执行sh -c ls 和 sh ls pom.xml springboot的插件需要放在docker插件前面 application.yml application-beta.yml application-prod.yml 阅读全文
posted @ 2018-01-29 00:03 好吧,就是菜菜 阅读(174) 评论(0) 推荐(0) 编辑

摘要:数组实现父类:AbstractList接口:List,RandomAccess,Cloneable,Serializable字段://默认容量private static final int DEFAULT_CAPACITY = 10;//空的数组,构造函数参数为0和trim中使用,构造参数给0的人绝对会被打死,每放一个元素,就要重新copy一次private static final Obje... 阅读全文
posted @ 2017-09-10 23:27 好吧,就是菜菜 阅读(179) 评论(0) 推荐(0) 编辑

摘要:Byte的valueof方法 阅读全文
posted @ 2017-05-25 01:17 好吧,就是菜菜 阅读(412) 评论(0) 推荐(0) 编辑

摘要:Integer类里面有一个私有的静态内部类IntegerCache类加载时,有一段静态块代码,如下 Integer的valueOf方法 那么通过设置 阅读全文
posted @ 2017-05-25 01:12 好吧,就是菜菜 阅读(396) 评论(0) 推荐(0) 编辑

摘要:1.PC寄存器 Java虚拟机可以支持多条线程同时执行,每一条Java虚拟机都有自己的PC寄存器,在任意时刻,一条Java虚拟机线程只会执行一个方法的代码,这个正在执行的方法称为该线程的当前方法,如果当前发放是native,那么PC寄存器的值是一个undefined,如果不是,那么PC寄存器就保存J 阅读全文
posted @ 2017-05-23 21:41 好吧,就是菜菜 阅读(116) 评论(0) 推荐(0) 编辑

摘要:再看下面这个,多加了一个final 再来看这段代码 再看没加final的 是不是都感觉很扯淡,还是C++ Primer里面那句话,对于字面量字符串的处理,有些编译器会保存一个,有些会保存多个副本,所以, 想判断String字面量是否相等,老老实实的for循环 阅读全文
posted @ 2017-05-14 17:56 好吧,就是菜菜 阅读(269) 评论(0) 推荐(0) 编辑

摘要:结果 异常被封闭在当前线程,不会抛到开启线程的方法中来 阅读全文
posted @ 2017-05-14 17:01 好吧,就是菜菜 阅读(178) 评论(0) 推荐(0) 编辑

摘要:延迟线程的进度,等待闭锁条件的结束 阅读全文
posted @ 2017-05-11 16:44 好吧,就是菜菜 阅读(277) 评论(0) 推荐(0) 编辑

摘要:awt.toolkit=sun.awt.windows.WToolkit file.encoding=GBK file.encoding.pkg=sun.io file.separator=\ java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment java.awt.printerjob=sun.awt... 阅读全文
posted @ 2017-05-08 01:17 好吧,就是菜菜 阅读(336) 评论(0) 推荐(0) 编辑

摘要:输出: setId 100backsetId 100getId 100backgetId 10setId 100backsetId 100setId 100 synchronized在方法声明中,锁的是this, 在jvm汇编指令里面并没有显式的出现monitorenter 下面代码 执行结果一样 阅读全文
posted @ 2017-05-08 01:14 好吧,就是菜菜 阅读(135) 评论(0) 推荐(0) 编辑

摘要:import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; public class Test3 { static... 阅读全文
posted @ 2017-05-05 14:49 好吧,就是菜菜 阅读(356) 评论(0) 推荐(0) 编辑

摘要:0:将一个常量加载到操作数栈 3:数值从操作数栈存储到局部变量表 4:将int类型的常量加载到操作数栈 5:数值从操作数栈存储到局部变量表 6:将一个局部变量加载到操作栈 7:将一个局部变量加载到操作栈 8:将一个常量加载到操作数栈 11:取操作数栈顶俩个数值相乘 12:比较指令 13:如果大于等于 阅读全文
posted @ 2017-04-17 17:47 好吧,就是菜菜 阅读(233) 评论(0) 推荐(0) 编辑

摘要:不知道错那里的代码 阅读全文
posted @ 2017-01-15 20:28 好吧,就是菜菜 阅读(154) 评论(0) 推荐(0) 编辑

摘要:信号量是拿来消费的,中断一个线程俩次,这个线程会收到俩个信号,同样,它可以消费俩次 阅读全文
posted @ 2016-12-29 00:42 好吧,就是菜菜 阅读(155) 评论(0) 推荐(0) 编辑