![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 93
不服老的码农
业精于勤,荒于嬉;行成于思,毁于随
展开
-
【解惑】剖析float型的内存存储和精度丢失问题
【解惑】剖析float型的内存存储和精度丢失问题问题提出:12.0f-11.9f=0.10000038,"减不尽"为什么?现在我们就详细剖析一下浮点型运算为什么会造成精度丢失?1、小数的二进制表示问题首先我们要搞清楚下面两个问题: (1) 十进制整数如何转化为二进制数 算法很简单。举个例子,11表示成二进制数:...转载 2019-11-12 21:31:25 · 363 阅读 · 0 评论 -
Cannot download 'https://start.spring.io': Remote host terminated the handshake , response: 200 OK
新建SpringBoot遇到如下错在:解决办法:'https://start.spring.io'改为:'http://start.spring.io'原创 2019-11-11 16:16:41 · 10992 阅读 · 1 评论 -
JAVA和Android序列化技术详解
文章目录什么是序列化为什么需要序列化Java的序列化Android的序列化什么是序列化为什么需要序列化Java的序列化Android的序列化高性能rpc 的关键技术之一 就是高效的对象序列化机制。传统java的序列化机制。有两个问题。数据量大,传输效率低。 其他语言无法识别。json 序列化存在占用空间大。性能低下。是因为有很多结构化的东西,各种符号。 但是可读性强。为什么要进行序...原创 2019-11-11 14:57:15 · 614 阅读 · 0 评论 -
非常清晰解读Spring@Autowired注解与自动装配
1 配置文件的方法我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。Boss 拥有 Office 和 Car 类型的两个属性:清单 3. Boss.javapackage com.baobaotao;public class Boss {private Car car;...转载 2019-11-10 11:01:03 · 188 阅读 · 0 评论 -
[JAVA]深入讲解ThreadLocal变量通常设置为static的原因
文章目录什么是ThreadLocal:Java static:ThreadLocal变量为什么用static修饰什么是ThreadLocal:JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序,ThreadLocal并不是一个Thread,而是Thread的...原创 2019-11-08 20:52:54 · 7516 阅读 · 1 评论 -
java 线程的几种状态
java 线程的几种状态 java thread的运行周期中, 有几种状态, 在 java.lang.Thread.State 中有详细定义和说明:NEW 状态是指线程刚创建, 尚未启动RUNNABLE 状态是线程正在正常运行中, 当然可能会有某种耗时计算/IO等待的操作/CPU时间片切换等, 这个状态下发生的等待一般是其他系统资源, 而不是锁, Sleep等转载 2017-08-28 19:37:43 · 329 阅读 · 0 评论 -
UML设计中的箭头详解
UML类图是描述类之间的关系,关系有重复度和形式之分。重复度:单重复度,只存在一对一的关系。多重复度,用列表、vector或其它的数据结构维护一对多,多对多的关系这里再说一下重复度,其实看完了上面的描述之后,我们应该清楚了各个关系间的关系以及具体对应到代码是怎么样的,所谓的重复度,也只不过是上面的扩展,例如A和B有着“1对多”的重复度,那在A中就有一个列表,保存着B转载 2017-08-29 11:01:26 · 2072 阅读 · 0 评论 -
谈谈Java中的ThreadLocal
ThreadLocal介绍&跳出误区看看源码线程独享变量?ThreadLocal介绍&跳出误区 ThreadLocal一般称为线程本地变量,它是一种特殊的线程绑定机制,将变量与线程绑定在一起,为每一个线程维护一个独立的变量副本。通过ThreadLocal可以将对象的可见范围限制在同一个线程内。跳出误区 需要重点强调的的是,不要拿ThreadLocal和synchro转载 2017-08-30 12:10:17 · 223 阅读 · 0 评论 -
Android 非静态内部类导致内存泄漏原因深入剖析
背景上周发现蘑菇街IM-Android代码里面,一些地方代码编写不当,存在内存泄漏的问题,在和疯紫交流的过程中,发现加深了一些理解,所以决定写一下分析思路,相互学习。内存泄漏一个不会被使用的对象,因为另一个正在使用的对象持有该对象的引用,导致它不能正常被回收,而停留在堆内存中。内存泄漏的危害最坏的情况,App可能会因为大量的内存泄漏而导致内存耗尽,引发Cra转载 2017-08-30 13:53:54 · 531 阅读 · 0 评论 -
Java 类中各成分加载顺序 和 内存中的存放位置
一、什么时候会加载类?使用到类中的内容时加载:有三种情况1.创建对象:new StaticCode();2.使用类中的静态成员:StaticCode.num=9; StaticCode.show();3.在命令行中运行:Java StaticCodeDemo二、类所有内容加载顺序和内存中的存放位置:利用语句进行分析。1.Person p=new Person("z转载 2017-08-30 15:20:27 · 322 阅读 · 0 评论 -
MVP架构模式详解
一.为什么需要软件设计模式?我们先来定义什么是好的软件架构:软件架构上具有明确的分工,各个模块的功能职责平衡分配,且明确。可测试性,通常良好的软件架构都具备良好的可测试性。良好的易用性,维护成本低。为什么需要模块分工?良好的模块分工,可以大大简化我们对代码的理解难度。虽然通过大量的开发工作,可以训练我们的大脑去分析越来越复杂的逻辑,但是人总有极限,而且简单的逻辑更容易理转载 2017-09-01 16:47:39 · 795 阅读 · 0 评论 -
java泛型-简单易懂
转自:百度百科泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换转载 2017-09-02 18:06:46 · 231 阅读 · 0 评论 -
理解Android虚拟机体系结构
1 什么是Dalvik虚拟机 Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的Java应用程序的运行。dex格式是专门为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Google对其进行了特定的优化,使得Dalvik具有高效、简洁、节省资源的特点。从转载 2017-08-24 10:56:36 · 393 阅读 · 0 评论 -
浅谈链式编程及建造者模式
今天谈谈链式编程,和建造者模式,第一部分谈链式编程,第二部分谈建造者模式。在安卓开发中,最早接触链式编程,应该算是AlertDialog类了,后来在github上看到JakeWharton 的picasso图片处理框架。从ViewpageIndicator开始关注JakeWharton ,当时对他的佩服是无比的,觉得他想让我们用什么风格写代码,就能给我们创造出相应的框架,注意,重点是风格哦转载 2017-09-13 10:52:02 · 746 阅读 · 0 评论 -
java中String、StringBuffer、StringBuilder的区别
转自:http://www.cnblogs.com/xudong-bupt/p/3961159.htmljava中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final转载 2017-08-09 12:22:59 · 146 阅读 · 0 评论 -
HashMap、ArrayMap、SparseArray分析比较
HashMap、ArrayMap、SparseArray分析比较分类:源码 (1959) (0) 举报 收藏一、原理分析 1、HashMap分析 HashMap是基于hash表非同步map实现,key和value都可以为null。其hash表实现方式是”拉链法”,可理解为链表的数组,如下图所示: HashMap部分源码如下:/**转载 2017-08-08 16:16:47 · 231 阅读 · 0 评论 -
浅谈Java中的hashcode方法
浅谈Java中的hashcode方法转自:http://www.cnblogs.com/szlbm/p/5806226.html 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:1public native int ha转载 2017-08-08 17:14:04 · 179 阅读 · 0 评论 -
JAVA设计模式详解
一、设计模式的理解刚开始“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案。在真正理解设计模式之前我一直在编写“简单”的代码.这个“简单”不是功能的转载 2017-08-16 10:36:36 · 271 阅读 · 0 评论 -
Java:Object类详解
Java的一些特性会让初学者感到困惑,但在有经验的开发者眼中,却是合情合理的。例如,新手可能不会理解Object类。这篇文章分成三个部分讲跟Object类及其方法有关的问题。上帝类问:什么是Object类?答:Object类存储在java.lang包中,是所有java类(Object类除外)的终极父类。当然,数组也继承了Object类。然而,接口是不继承Object类的,原因在转载 2017-08-16 11:07:12 · 256 阅读 · 0 评论 -
Set,List,Map,Vector,ArrayList的区别
JAVA的容器---List,Map,Set Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代转载 2017-08-16 11:20:42 · 146 阅读 · 0 评论 -
ArrayList,LinkedList,Vector区别及其优缺点
ArrayList,LinkedList,Vector区别及其优缺点原文:http://blog.csdn.net/wangzff/article/details/7296648ArrayList,LinkedList,Vector这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下: 一、同步性 ArrayList,Linke转载 2017-08-08 15:50:53 · 291 阅读 · 0 评论 -
java中HashSet详解
转自:http://blog.csdn.net/wuwenxiang91322/article/details/7635123[java] view plain copypublic class HashSet extends AbstractSet implements Set, Cloneable, java.io.Seria转载 2017-08-16 11:50:36 · 260 阅读 · 0 评论 -
java中的sleep()和wait()的区别
转自:http://www.cnblogs.com/hongten/p/hongten_java_sleep_wait.html对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。转载 2017-08-09 11:49:17 · 167 阅读 · 0 评论 -
数组、List和ArrayList的区别
转自:http://www.cnblogs.com/a164266729/p/4561651.html 有些知识点可能平时一直在使用,不过实际开发中我们可能只是知其然不知其所以然,所以经常的总结会对我们的提高和进步有很大的帮助,这里记录自己在工作之余的问题,持续更新,欢迎高手斧正. 数组、List和ArrayList的区别 数组在内存中是连续存储的,所以它的索引速度转载 2017-08-09 12:20:01 · 134 阅读 · 0 评论 -
干货 | 彻底理解ANDROID BINDER通信架构(上)
转载自:https://segmentfault.com/a/1190000007997113干货 | 彻底理解ANDROID BINDER通信架构(上)android 小米开放平台 1月3日发布 | 0 收藏 | 3943 次浏览干货 | 彻底理解ANDROID B转载 2017-08-04 18:09:14 · 948 阅读 · 0 评论 -
ptrace运行原理及使用详解
你想过怎么实现对系统调用的拦截吗?你尝试过通过改变系统调用的参数来愚弄你的系统kernel吗?你想过调试器是如何使运行中的进程暂停并且控制它吗?你可能会开始考虑怎么使用复杂的kernel编程来达到目的,那么,你错了。实际上Linux提供了一种优雅的机制来完成这些:ptrace系统函数。 ptrace提供了一种使父进程得以监视和控制其它进程的方式,它还能够改变子进程中的寄存器和内核映像,因而转载 2017-08-19 16:15:10 · 407 阅读 · 0 评论 -
Java中的内存处理机制和final、static、final static总结
Java中的内存处理机制和final、static、final static总结装载自:http://blog.csdn.net/wqthaha/article/details/20923579Java程序运行在JVM上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要性。所以在学习Java内存分配原理的时候转载 2017-08-07 20:32:31 · 375 阅读 · 0 评论 -
详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是转载 2017-07-22 22:57:14 · 166 阅读 · 0 评论