
Java base
desaco
技术,产品,运营。安卓应用研发10年+。服务过多家上市公司。
展开
-
AOP的四种主要Java实现方式
AOP的四种主要Java实现方式 转自:http://www.360doc.com/showWeb/0/0/170258.aspx 据统计,目前与AOP相关的项目已达近百种,而基于Java的AOP实现机制也有二十多种,以下所列举的是商业上得到成熟应用的几种基于Java的AOP的实现机制。 1.AspectJ AspectJ是目前最完善...转载 2016-02-25 13:47:17 · 1719 阅读 · 0 评论 -
注解(annotation),反射 - Java
> 注解原理及自定义注解XML配置其实就是为了分离代码和配置而引入的。Java SE5内置了三种标准注解:@Override,表示当前的方法定义将覆盖超类中的方法。@Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。@SuppressWarnings,关闭不当编译器警告信息。经过transient关键字修饰...转载 2016-04-08 15:12:36 · 529 阅读 · 0 评论 -
Java基础
-- 当同时使用多个修饰符时,按照下列顺序:public protected private abstract static final transient volatile synchronized native strictfp-- Java基本数据类型 所占用空间大小byte b; 1字节short s; 2字节int i; 4字节long l; 8字节c...转载 2016-03-19 15:10:31 · 746 阅读 · 1 评论 -
编译时注解(BufferKnife等)与运行时注解(otto),注解处理器APT
Android路由开源库,阿里开源的ARouter路由。路由与注解。MainDex 优化记- https://juejin.im/post/5c5bee986fb9a049bc4d1b58此插件只作用于打包过程,编码过程无感知、无影响,删除注解类 -https://github.com/jokermonn/thinAnnotation--1.运行期注解(RunTime)利用反射去...转载 2018-03-23 00:06:33 · 4471 阅读 · 2 评论 -
Java基础3(接口与抽象类, 类和对象等)
Java 面试题问与答:编译时与运行时- http://www.importnew.com/1796.html1> Java基本类型占用的字节数:1字节: byte , boolean2字节: short , char4字节: int , float8字节: long , double注:1字节(byte)=8位(bits)2> 接口与抽象类应用场景区别对象'Obj...转载 2018-07-12 18:46:45 · 281 阅读 · 0 评论 -
java二进制、八进制、十六进制表示法,两数交换
> 二进制0b开头;八进制0开头;十六进制0x开头System.out.println(0b101);//二进制:5 (0b开头的)System.out.println(0e1011);//0.0System.out.println(011);//八进制:9 (0开头的)System.out.println(11);//十进制:11System.out.println(0x...转载 2018-08-07 12:56:11 · 1038 阅读 · 0 评论 -
计算机体系的字节序:大端,小端,单(多)字节字符集 Unicode,字符编码
> 大端Big-Endian,小端Little-Endian 在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:big-edian和little-endian。 现代的计算机系统一般采用字节(Oc...转载 2018-06-19 11:06:15 · 1118 阅读 · 0 评论 -
编程语言类型,面向对象与面向字节码
> 编程语言类型:标记语言,编译型语言,脚本语言1.标记语言 标记语言,是一种将文本(Text)以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其他信息(包括例如文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记(markup)进行标识。(html xml)2.编译型语言 编译型语言:程序在执行之前需要一个专门的编译过程,把程...转载 2018-09-09 00:23:38 · 880 阅读 · 0 评论 -
面向对象开发与面向对象设计模式的几个核心的思想和概念 -java
面向对象方法,OO方法所具有的模块化、信息封装与隐蔽、抽象性、继承性、多样性等独特之处,这些优异特性为研制大型软件、提高软件可靠性、可重用性、可扩充性和可维护性提供了有效的手段和途径。Java主要特征:封装性,继承性,多态性.>>>> 面向对象开发的几个核心思想1、问题领域、对象、属性、状态、行为、方法、实现问题领域: 指软件系统所模拟的真实世界中的系统...转载 2016-03-21 17:10:54 · 5701 阅读 · 0 评论 -
Map stack和Queue -java
1.stack堆栈,没有迭代器,支持push()方法。后进先出,top()返回最顶端的元素,pop()剔除最顶元素;后进先出的模式,只能在栈头进行插入与删除操作。 2.deque双端队列,支持迭代器,有push_back()方法,跟vector差不多,比vector多了个pop_front,push_front方法 3.queue队列,先进先出,不支持迭代器,有push()方法,pop()剔...转载 2016-03-19 22:11:33 · 955 阅读 · 0 评论 -
Java static和匿名内部类
-- staticJava中,任何变量 / 代码存储时,都是 在编译时 由系统自动分配内存;在静态变量编译后,所分配的内存会一直存在,直到程序退出内存才会释放这个空间;类加载时,JVM会把静态变量放到 方法区,被本类 & 本类的所有实例所共用。-static变量可以被修改吗?- https://blog.youkuaiyun.com/qq_16334327/article/details/...转载 2018-10-27 19:56:47 · 2123 阅读 · 0 评论 -
编程思想(管理内存和回收内存)
对象的生命周期,内存的生命周期等。把性能和内存分配管理作为一种习惯和思维。-- Java的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)也叫静态存储区。堆区:(存放所有new出来的对象;)1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放...转载 2018-11-15 13:17:13 · 665 阅读 · 0 评论 -
野指针与内存泄漏,查漏补缺(面试),对象引用(句柄)与OOM等问题
> 强引用、软引用、弱引用和虚引用,Java中的引用类型Java 对象引用方式 —— 强引用、软引用、弱引用和虚引用- https://www.cnblogs.com/renhui/p/6069437.htmlJava四种引用包括强引用,软引用,弱引用,虚引用- https://www.cnblogs.com/yw-ah/p/5830458.htmljava强引用,软引用,弱引用,虚引...转载 2018-03-23 16:05:20 · 701 阅读 · 0 评论 -
集合ArrayList add()/clear()数组指针越界?- Java
ArrayList add()/clear()数组指针越界?原来是线程同步问题。> 为什么 ArrayList 集合在add 的时候会数组越界?集合ArrayList.clear()出现了数组越界? 第一次遇到ArrayList的claer方法抛出异常,仔细一看,并不是空指针,跟踪源码,发现是某个类的checkForComodification方法抛出ConcurrentModific...转载 2019-01-05 21:20:01 · 1708 阅读 · 1 评论 -
Java基础3
1.enum 是一个类2.泛型的实现使用了类型擦除技术3.非静态内部类持有外部类的引用4.需要将自由变量声明成final才能给匿名内部类访问java虚拟机里面的方法调用是以方法栈的形式去执行的.压人栈内的元素就叫做栈帧.栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区的虚拟机栈(Virtual Machine Stack)的栈元...转载 2019-04-13 09:51:01 · 251 阅读 · 0 评论 -
Java基础2(面向对象等)
面向对象方法,OO方法所具有的模块化、信息封装与隐蔽、抽象性、继承性、多样性等独特之处,这些优异特性为研制大型软件、提高软件可靠性、可重用性、可扩充性和可维护性提供了有效的手段和途径。Java主要特征:封装性,继承性,多态性.> Java 的封装 继承 多态封装就是一个个类;继承就是把共同的抽象出来,放在父类,让子类继承,实现代码的重用;多态就是同一个东西不同的形式呈现;继承是建...转载 2016-03-19 15:44:27 · 918 阅读 · 0 评论 -
Java I/O,NIO,BIO,AIO,AutoCloseable/Closeable/Flushable,IO优化
Java IO流学习总结- http://geek.youkuaiyun.com/news/detail/236481LinkedBlockingQueue的put,add跟offer的区别- https://blog.youkuaiyun.com/z69183787/article/details/46986823ByteBuffer的Put和Get的用法和要注意的细节- https://blog.csdn.ne...转载 2017-05-27 15:11:37 · 628 阅读 · 0 评论 -
Java 位运算(移位、位与、或、异或、非)
-- java中有三种移位运算符:1. << : 左移运算符,num << 1,相当于num乘以22. >> : 右移运算符,num >> 1,相当于num除以23. >>> : 无符号右移,忽略符号位,空位都以0补齐 public class Test { ...转载 2016-04-06 17:19:48 · 1014 阅读 · 0 评论 -
java集合与数组遍历-iterator和for方法
>>> Iterator接口Java JDK提供的类都是继承自Collection的"子接口",如:List和Set。Map没有继承Collection接口,Map提供key到value的映射。Iterator接口也是Java集合框架的成员,但它与Collection系列、Map系列的集合不一样:Collection系列集合、Map系列集合主要用于盛装其他对象,而Iter...转载 2016-03-28 14:50:20 · 816 阅读 · 0 评论 -
时间戳格式化-java
-- 时间戳格式化: --> 24小时制SimpleDateFormat sdFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");-->12小时制SimpleDateFormat sdFormat = new SimpleDateFormat("请将手机时间与网络同步,时间要精准yyyy-MM-dd hh:mm:ss...原创 2016-07-06 18:04:14 · 2335 阅读 · 0 评论 -
Java浮点数float,bigdecimal和double精确计算的精度误差问题总结
-- Java中double类型比较大小或相等的方法- https://blog.youkuaiyun.com/liuweiyuxiang/article/details/71104712 在Java中int类型数据的大小比较可以使用双等号,double类型则不能使用双等号来比较大小,如果使用的话得到的结果将永远是不相等,即使两者的精度是相同的也不可以。float的指数范围为-127~+128,而do...转载 2016-05-17 15:48:58 · 6048 阅读 · 0 评论 -
Java 集合数据结构,Collection(Collections.sort)中的Values排序问题,List集合排重/排序
list、set、map的排序,包括按照map的value进行排序。 list排序可以直接采用Collections的sort方法,也可以使用Arrays的sort方法,归根结底Collections就是调用Arrays的sort方法。 set包括HashSet和TreeSet,HashSet是基于HashMap的,TreeSet是基于TreeMap的。 map包括HashMap转载 2016-09-25 19:41:35 · 1167 阅读 · 0 评论 -
Java两种基本的数据结构:数组和链表
-- Java两种基本的数据结构:数组和链表。Java底层机制,JVM机制 - http://www.jianshu.com/p/ae97b692614e#Java数组(初学者必看)- http://www.importnew.com/7127.html 数组无论在哪种编程语言中都算是最重要的数据结构之一,同时不同语言的实现及处理也不尽相同。但凡写过一些程序的人都知道数组的价值及理解数...转载 2016-11-28 22:37:27 · 9630 阅读 · 10 评论 -
C++/Java面向对象,C的面向过程
面向对象方法,OO方法所具有的模块化、信息封装与隐蔽、抽象性、继承性、多样性等独特之处,这些优异特性为研制大型软件、提高软件可靠性、可重用性、可扩充性和可维护性提供了有效的手段和途径。Java主要特征:封装性,继承性,多态性. 所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。-- Java面向对象知识总结- htt...转载 2016-07-14 13:55:46 · 2231 阅读 · 1 评论 -
stack/deque/queue api的区别
> stack,deque,queue的区别Queue:队列,先进先出,不支持迭代器,有push()方法,pop()剔除第一个元素,front()返回第一个元素。Deque:双端队列,支持迭代器,有push_back()方法,跟vector差不多,比vector多了个pop_front,push_front方法。Stack :栈,没有迭代器,支持push()方法。后进先出,top()...转载 2017-03-22 18:19:09 · 3189 阅读 · 0 评论 -
编译时异常、运行时异常、自定义异常-Java
> 异常的分类:① 异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception,具体的RuntimeException继承RuntimeException。 ② Error和RuntimeException及其子类成为未检查异常(unchecked),其它异常成为已检查异...转载 2016-03-20 16:46:34 · 8075 阅读 · 0 评论 -
使用Java对文件或文件夹的压缩, 解压, 加密和解密
使用zip对文件或文件夹进行压缩, 解压缩: Java代码 》》 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.Zi转载 2016-01-06 15:18:12 · 971 阅读 · 0 评论 -
java基础-StringBuild、StringBuffer,集合List、Map、Set
Java集合架构详解http://blog.youkuaiyun.com/qq_35101189/article/details/55000689> StringBuild、StringBuffer区别String中的对象是不可变的,也就可以理解为常量,显然线程安全。 AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串...转载 2016-02-22 11:13:13 · 2018 阅读 · 0 评论 -
Java阻塞队列Queue/Deque/condition,DelayQueue/SynchronousQueue/Exchanger并发(数据结构)
1.ArrayBlockingQueue: 一个基于数组实现的有界阻塞队列,必须设置容量 2.LinkedBlockingQueue: 基于链表实现的阻塞队列,容量可以选择进行设置,不设置的话,将是一个无边界的阻塞队列 3.PriorityBlockingQueue: 一个无界的阻塞队列,使用的排序规则和PriorityQueue类似并提供了阻塞操作 4.LinkedBlockingDeq...转载 2017-06-20 12:22:15 · 744 阅读 · 0 评论 -
正则表达式及EditText内容监听
引用:http://www.cnblogs.com/silentjesse/p/3242701.htmlpublic final class RegExpValidatorUtils {/*** 验证邮箱* * @param 待验证的字符串* @return 如果是符合的字符串,返回 true ,否则为 false */public static boolean isEmail(转载 2016-08-05 14:32:28 · 2414 阅读 · 0 评论 -
时间戳问题(格林威治和北京时间)
public static long todayEarlyMorningTimeStamp() {// 今天凌晨 Calendar todayStart = Calendar.getInstance(); todayStart.set(Calendar.HOUR_OF_DAY, 0);// 今天开始是从凌晨0点开始 todayStart.set(Calendar.MINUTE,原创 2017-12-12 18:59:09 · 4120 阅读 · 0 评论 -
java(高级)特性
轻松学,浅析依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI)- http://blog.youkuaiyun.com/briblue/article/details/75093382Java基础与提升- http://blog.youkuaiyun.com/SEU_Calvin/article/category/6226468java基础相关- https://github.com/aalansehaiyan...原创 2016-08-10 16:48:05 · 860 阅读 · 0 评论 -
JAVA / JS 中关于this和that
-- JAVA中关于this和thatthis 的坑,出现问题的本质就是 this 指针的指向和自己想的不一样。this 与上下文中可执行代码的类型有直接关系,this 的值在进入执行上下文时确定,并且在执行上下文运行期间永久不变。揭开 this & that 之迷 - http://www.sohu.com/a/158143999_505825this 到底取何值?thi...转载 2019-06-02 13:42:44 · 5477 阅读 · 0 评论