深入Java线程(二)

为了理解可先看深入Java线程(一)内容在看本篇。###线程生命周期 关于线程生命周期的不同状态,在 Java 5 以后,线程状态被明确定义在其公共内部枚举类型 java.lang.Thread.State 中,分别是: 新建(NEW),表示线程被创建出来还没真正启动的状态,可以认为它是个 Java 内部状态。 就绪(RUNNABLE),表示该线程已经在 JVM 中执行,当然由于执行需要计算资源,它可能是正在运行,也可能还在等待系统分

Read More...

深入Java线程(一)

线程是系统调度的最小单元,一个进程可以包含多个线程,作为任务的真正运作者,有自己的栈(Stack)、寄存器(Register)、本地存储(Thread Local)等,但是会和进程内其他线程共享文件描述符、虚拟地址空间等。在具体实现中,线程还分为内核线程、用户线程,Java 的线程实现其实是与虚拟机相关的。###创建线程方式 继承Thread public class ThreadImpl extends Thread {

Read More...

Java异常

Java异常 对比Exception和Error 运行异常与一般异常区别 ClassNotFoundException和NoClassDefFoundError有什么区别 throw和throws 异常处理几点建议 自定义异常 对比Exception和Error。Exception和Error都继承Throwable, Exception是程序可以处理的异常,正常JVM运行外的异常。 Error一般是JVM相关异常错误,不可恢复

Read More...

我所知道的-Java垃圾回收机制

本文章你能知道的内容: Java内存模型 Java堆 对象什么时候回收 垃圾回收算法 垃圾回收器Java内存模型要了解Java垃圾回收机制,首先知道Java内存模型是怎么样的。如下图 程序计数器 Java 虚拟机栈 方法区:方法区也是各个线程共享的内存区域,它用于存储已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据 运行时常量池 Java 堆:一般new的对象实例和数组都是在堆中的,而GC主要回收的内存也是

Read More...

Android各个版本新特性

目前主流的Android适配版本最低版本4.0或5.0,这里主要总结一下Android 4.0以后各个版本特性,方便适配和面试。加粗标注为面试中问到的重点特性,其他为重要适配特性。(倒序) Android 8.0 优化通知 通知渠道 通知标志 休眠 通知超时 通知设置 通知清除 自动填充框架 画中画模式:清单中Activity设置android:supportsPictureInPicture 可下载字体:FontRequest

Read More...

《爱的五种能力》

俗话说的好“相爱容易相处难”,“家家有本难念的经”,说的大都是婚后生活夫妻之间的相处问题。本书作者认为为什么夫妻相处有问题是因为缺少“爱的五种能力”: 情绪管理 述情 共情 允许 影响 爱的能力之一 “情绪管理”:首选是“情绪管理”,每个人要管理好自己的情绪,才有能力去爱别人。不能管理好自己情绪的人,常常让与自己相爱的人痛苦,容易错失爱的机会,甚至会伤害人。 想要爱情幸福,家庭和睦,两人就要都经常强调“爱”和“情”。一个人在强调

Read More...

Jenkins配置Android深坑

在Jenkins上配置Android的一些持续集成(自动打包上传,单元测试,集成测试等)应该是很普遍的事情了。Jenkins一般配置在一个通用的测试服务器上,原来都是拿一个mac当测试服务器,在上面想怎么玩怎么就怎么玩,想怎么配置就怎么配置。可是如果测试服务器是在虚拟机上而且测试服务器不是你能控制的,那就要在Jenkins上配置Android就不能想自己控制自己电脑那边方便了,在配置过程中也填了不少的坑。那就讲下填坑之路吧。 Jenki

Read More...

Android与iOS开发相关区别

Android与iOS开发相关区别时间搓 Java取时间戳为13位 iOS取时间戳10位 解决方案:统一用13位,后台Java写的,其他平台调用都是以13位取下拉刷新 Android下拉刷新View没有偏移 iOS下拉刷新有偏移 解决方案:下拉有偏移体验更好,Android重新写view,根据移动偏移计算偏移位置,github有很多成型的项目

Read More...

Android使用枚举正确姿态

大家应该都知道Android建议不要用Java枚举,它占用内存很大 那实际开发中肯定是要用Java枚举的,那有没有什么解决办法了。答案肯定是有的,只是换成另外一种方式 /** * Android枚举 */ public class TestEnum { /** * @Retention(RetentionPolicy.SOURCE) 注解可以告知编译器不将枚举的注解数据存储在 .class 文件中

Read More...

Java7 switch String

Switch string Java 7新特性,原来switch只能支持int,byte。short,char,枚举 那具体性能如何了?看下code package com.wilson.test; public class SwitchTest { public static final String NUM_ONE = "1"; public static final Strin

Read More...