![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
atongyeyeYE
这个作者很懒,什么都没留下…
展开
-
java内存模型
主内存与工作内存 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样底层细节。此处的变量与Java编程时所说的变量不一样,指包括了实例字段、静态字段和构成数组对象的元素,但是不包括局部变量与方法参数,后者是线程私有的,不会被共享。 Java内存模型中规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存(可以与前面将的处...2016-06-06 15:04:06 · 70 阅读 · 0 评论 -
轻松掌握Java对象初始化顺序
初始化顺序:1.有无父类?有:将父类加载进内存。直到将所有的父类加载完毕。再从顶层父类按照代码的顺序执行静态代码,执行完最顶层的,在执行下一层的,依次类推,直到执行完所有的静态代码。(1)如果有初始化子类对象。那么同样会先调用父类的构造器,并且会先执行最底层父类的构造器。先将所有成员属性设置成为默认值,接着依据代码的顺序初始化所有成员。初始化完毕之后,再执行构造器内的方法。初始化完父类后,依次初...2016-12-12 16:05:12 · 104 阅读 · 0 评论 -
并发和并行的区别
并发和并行从宏观上来讲都是同时处理多路请求的概念。但并发和并行又有区别,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。 在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。①程序与计算不再一一对应,一个程序副本可以有多个计算②并发程序...2016-12-15 17:03:08 · 112 阅读 · 0 评论 -
HashMap的工作原理
HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引...2017-02-15 10:07:26 · 118 阅读 · 0 评论 -
java集合技巧(一)----请为集合指定初始容量
集合是我们在Java编程中使用非常广泛的,它就像大海,海纳百川,像万能容器,盛装万物,而且这个大海,万能容器还可以无限变大(如果条件允许)。当这个海、容器的量变得非常大的时候,它的初始容量就会显得很重要了,因为挖海、扩容是需要消耗大量的人力物力财力的。同样的道理,Collection的初始容量也显得异常重要。所以:对于已知的情景,请为集合指定初始容量。[java] view pla...2017-02-20 17:43:26 · 169 阅读 · 0 评论 -
java集合技巧(二)---使用entrySet遍历Map集合KV
HashMap的遍历有两种常用的方法,那就是使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的。 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) ite...2017-02-20 17:58:31 · 244 阅读 · 0 评论 -
java集合技巧(三)---合理利用集合的稳定性和有序性
合理利用集合的稳定性(order)和有序性(sort),避免集合的无序性和不稳定性带来的负面影响。稳定性指集合每次遍历的元素次序是一定的。有序性是指遍历的结果按某种比较规则依次排序的。 如ArrayList是order/unsort,HashMap是unorder/unsort,TreeSet是order/sort引申:可以通过TreeSet结合ArrayList对结果进行排序。...原创 2017-02-21 09:12:14 · 1042 阅读 · 0 评论 -
Java集合之List---ArrayList解析
Java集合之List---ArrayList篇本章节主要讲述ArrayList集合知识,主要包括ArrayList结构类型,集合特点,源码解析等。 欢迎持续关注阅读,一起学习,共同交流(477819525君羊)。 1) ArrayList类层次结构: 2) ArrayList特性:a) ArrayList是基于数组实现的,是一个动...2017-02-24 17:42:18 · 246 阅读 · 0 评论 -
经典算法40题
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i&l...2016-12-02 13:07:46 · 193 阅读 · 0 评论 -
Javascript跨域访问解决方案
由于安全方面的考虑,JavaScript被限制了跨域访问的能力,但是有时候我们希望能够做一些合理的跨域访问的事情,那么怎么办呢?这里分两类情况:一、基于同一父域的子域之间页面的访问;参见如下3个domain域:taobao.com、jipiao.taobao.com、promotion.taobao.com;它们有相同的父域taobao.com。二、基于不同父域页面之间的访问;参见如下3个do...2016-11-14 09:39:07 · 135 阅读 · 0 评论 -
缓存雪崩,缓存穿透解决方案
缓存雪崩缓存雪崩可能是因为数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。解决思路:1,采用加锁计数,或者使用合理的队列数量来避免缓存失效时对数据库造成太大的压力。这种办法虽然能缓解数据库的压力,但是同时又降低了系统的吞吐量。2,分析用户行为,尽量让失效时间点均匀分布。避免缓存雪崩的出现。3,如果是因为...2016-11-09 09:08:07 · 254 阅读 · 0 评论 -
多线程并发第一讲:线程同步
1 什么是线程安全线程安全:当多个线程访问同一个类(对象或方法)时,如果这个对象始终能表现出正确的行为,那么认为这个类(对象或方法)是线程安全的。 2 synchronized 关键字解释synchronized:可以在任意对象及方法上加锁,而加锁的这段代码称为 “临界区”或“互斥区”。synchronized取得的锁都是对象锁,而不是把一段代码当锁。所以代码中哪个线程先执行...2016-06-08 09:49:13 · 161 阅读 · 0 评论 -
Java软件工程师就业思维图
Java软件工程师就业思维图(2016年版)想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格JAVA软件工程师所要具备的。<!--[if !supportLineBreakNewLine]--><!--[endif]-->一、专业技能1、熟练的使用...2016-10-28 13:04:50 · 614 阅读 · 0 评论 -
总结一下我在求职中经常被问到的问题
总结一下我在求职中经常被问到的问题 基础篇1 java基础a) 在java基础被问概率最高的应该就是集合了 1) hashmap的底层实现原理 2) arraylist和linkedlist的区别b)类之间的关系有哪几种 c) 熟悉的设计模式 1)举例并描述 2 多线程1)最简单的多线程实现方式,线程的几种状态2) 线...2016-10-31 09:11:10 · 102 阅读 · 0 评论 -
dubbo配置参考
1 分布式服务框架dubbo管控台详解。2 dubbo配置参考文档。详情参考附件列表 有兴趣的朋友可以加入我的互联网架构群:477819525内有大量java初级,进阶,高级,架构视频和书籍资料,大家一起交流学习。...2016-11-02 11:33:52 · 112 阅读 · 0 评论 -
hashMap原理分析
当你学了很多技术,才发现一切回到起点才是正确的选择,也是唯一正确的选择。工作5年多了,又开始重新看起了基础。才发现以前不懂的地方太多,需要沉下心来好好理解。 根据昨天的学习,从浅入深来理解一下hashMap 1 hashMap使用 常用的两种方式获取hashMap里面的数据 1) 首先获取map的keyset集合,然后遍历keyset集合,获取key对应map里面的va...2016-11-03 09:50:53 · 125 阅读 · 0 评论 -
架构设计与实践分享
百度云分享地址:http://pan.baidu.com/s/1geS1fqF有兴趣的朋友可以加入我的互联网架构群:477819525 内有大量java初级,进阶,高级,架构视频和书籍资料,大家一起交流学习。 ...2016-11-04 13:02:26 · 154 阅读 · 0 评论 -
JVM调优总结
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550...2016-11-07 15:41:53 · 118 阅读 · 0 评论 -
redis入门到精通--百度云
百度云分享地址:http://pan.baidu.com/s/1slmzBv3 有兴趣的朋友可以加入我的互联网架构群:477819525内有大量java初级,进阶,高级,架构视频和书籍资料,大家一起交流学习。 ...2016-11-08 10:12:18 · 794 阅读 · 0 评论 -
技能点--创建git项目
1 在git创建项目,会生成git初始化命令 2 在java项目内打开bash命令,执行git初始化命令,java项目成功纳入git管理 3 将代码提交git服务器 如何更改maven项目名 1 更改.project文件内项目名 2 更改pom文件项目信息...2017-12-21 16:24:33 · 175 阅读 · 0 评论