![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
Behappy丶要幸福
人要多读书,这样才不会太傻。
展开
-
Java虚拟机简介
一、概念jvm 是Java Virtual Machine(Java虚拟机)的缩写 jdk java development kit java开发工具包 开发java程序需要的一些工具 jre java runtime environment java运行时环境 java程序运行需要支持的一些工具类,资源等 二、物理结构jvm内存可以主要看成方法区、java堆、java栈、本地方法栈。 JV原创 2016-08-22 16:56:34 · 3196 阅读 · 0 评论 -
JVM中的垃圾回收机制
一、前言垃圾回收机制,首先你必须先要确定jvm中那个地方会产生垃圾,然后如何检测那些东西是垃圾,最后才能回收这些垃圾。二、先来看看垃圾的检测 再说垃圾检测之前我们先看回顾下jvm的结构:栈、堆、程序计数器、方法区、本地方法栈。这几块内存区域中栈、本地方法栈、程序计数器属于线程,线程结束就结束,线程新建就生成,所以这里不用考虑垃圾的回收,然后是方法区,方法区里面保存的是类的基本信息等,所以这里也不用原创 2016-08-22 17:03:39 · 439 阅读 · 0 评论 -
项目开发中经典问题
昨天项目组,进行了一波线上代码的codereview的分享,把线上有改进优化的代码的问题拿出来分享。是一次有预谋、有计划、有组织的好分享。所以这里也记录,防止后面出现犯同样的错误吧。 cursor未关闭 这种问题我以为只有面试中才会有,没想到可能一不小心就会发生在身边。一定要记得关闭游标cursor.close()。popwindow和dialog的show和dissmiss一定要判断ac原创 2016-09-01 20:44:13 · 437 阅读 · 0 评论 -
ArrayList使用set或add方法添加指定元素抛出IndexOutOfBoundsException
问题直接使用arrayList通过add(int index,E e)添加指定位置的元素ArrayList<String> array = new ArrayList<String>();array.add(1,"hello world");arraylist 调用clear()方法后通过set()指定位置的元素ArrayList<String> array = new ArrayList原创 2016-11-23 11:08:26 · 3588 阅读 · 0 评论 -
Java注解Annotation基础
从JDK5开始,Java增加了Annotation(注解),Annotation是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充的信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证、处理或者进行部署。Annotation提供了一种为程序元素(包、类、构造器、方法、转载 2016-12-22 16:28:44 · 272 阅读 · 0 评论 -
Thread线程join方法源码分析
最近在复习线程的基础知识,算是查漏补缺,温故知新吧。join源码public final synchronized void join(long var1) throws InterruptedException { //获取当前系统时间 long var3 = System.currentTimeMillis(); //记录已经过的时间原创 2016-12-23 12:07:54 · 971 阅读 · 0 评论 -
ThreadPoolExecutor参数说明
1、前言目前很多框架都会需要有一个线程池,来维护所有的异步任务,管理的生命周期,也能够更方便的调用执行。所以ThreadPoolExecutor使用的时候,对其参数一定需要很清晰。所以自己去亲自动手,才是最放心的。2、ThreadPoolExecutor构造方法源码 /** * Creates a new {@code ThreadPoolExecutor} with the give原创 2016-12-23 14:40:37 · 532 阅读 · 0 评论 -
notify和notifyAll坑点
1.前言优化Application时,由于上报uv和pv的操作初始需要读取配置和加载so库很多io操作,相对非常耗时,所以参考SharedPerfencesImpl的实现做了延迟加载,如果发现需要使用但是为初始完成会让调用线程wait.所以初始化结束时需要调用notifyall.2. 问题代码示例public class Demo{ public void init(){原创 2017-03-27 18:20:42 · 1059 阅读 · 0 评论 -
String中subString(int start,int end) index的问题
这个问题每次遇到很烦的时候就说明,问题虽然小,但是确实没理解明白,试来试去,还是源码解决最靠谱。/** * Returns a string containing the given subsequence of this string. * The returned string shares this string's <a href="#backing_array">bac原创 2017-11-21 11:48:29 · 2010 阅读 · 0 评论