自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 面试感悟------一名三年工作经验的程序员应该具备的经验

原文地址http://www.cnblogs.com/xrq730/p/5260294.html,转载请注明出处,谢谢! 前言因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章。这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内...

2018-07-02 15:46:40 1100 0

转载 深入分析ConcurrentHashMap的锁分段技术

术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称...

2018-06-26 16:15:04 234 0

转载 Java中对象都是分配在堆上吗?你错了!

们在学习使用Java的过程中,一般认为new出来的对象都是被分配在堆上,但是这个结论不是那么的绝对,通过对Java对象分配的过程分析,可以知道有两个地方会导致Java中new出来的对象并不一定分别在所认为的堆上。这两个点分别是Java中的逃逸分析和TLAB(Thread Local Allocat...

2018-06-26 15:34:09 1802 2

转载 一次线上问题排查:java.lang.OutOfmemoryError: PermGen Space

背景用基于Spring Boot(环境是java7)的系统做了一个报表导出的功能,第一次部署的时候用的默认JVM参数,但是测试人员在点击了一次导出之后,其他功能就疑似挂掉了,过了一会后才能正常使用;再点击导出,又出现这个问题,对这个问题的排查如下。jmap -heap pid查看堆内存使用情况At...

2018-06-21 17:45:10 173 0

转载 深入剖析Spring(一)——IoC的基本概念(从面向对象角度介绍)

IoC与DIIoC和DI是Spring的两个核心概念,很多人都把它们视为相同的东西,但事实并非如此。 IoC(Inversion of Control):控制反转。 DI(Dependency Injection):依赖注入。为了方便理解,先给出结论:控制反转是目的,依赖注入是实现控制反转的手段。...

2018-06-21 16:55:11 83 0

转载 回溯法(一)——n皇后问题

回溯法(一)——n皇后问题问题描述 在一个n*n的棋盘上放置皇后,要求:一个皇后的同一行、同一列、同一条对角线上不允许出现其他皇后。请给出所有的放置方案。算法思路思路很简单,由于每行每列不能出现两个皇后,因此每行只能放一个皇后,那么第i行中皇后究竟应该放哪儿呢?我们可以从第i行第一列开始依次向后逐...

2018-06-21 15:44:35 462 0

转载 聊聊对称/非对称加密在HTTPS中的应用

聊聊对称/非对称加密在HTTPS中的应用目前常用的加密算法主要分成三类:对称加密算法非对称加密算法消息摘要算法在互联网中,信息防护主要涉及两个方面:信息窃取和信息篡改。对称/非对称加密算法能够避免信息窃取,而消息摘要算法能够避免信息篡改。对称加密算法发送方和接收方需要持有同一把密钥,发送消息和接收...

2018-06-21 15:35:32 824 0

转载 缓存世界中的三大问题及解决方案

缓存世界中的三大问题及解决方案 目前的IO设备远不能满足互联网应用海量的读写请求。于是便出现了缓存,利用内存的高速读写性能来应付海量的查询请求。然而内存资源非常宝贵,将全量数据存储在内存中显然是不切合实际的。因此目前采用内存和IO结合的方式,内存只存储热点数据,而IO设备存储全量数据。 缓存...

2018-06-21 15:22:35 107 0

转载 并发编程中的注意事项

程序员必知的并发编程注意事项 获取单例对象需要保证线程安全,其中的方法也要保证线程安全。单例对象会被多线程共享,因此要保证它是线程安全的,它其中的方法都要保证是线程安全的。工具类、资源驱动类、单例工厂类都要注意这个问题。 创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。 线程资源必须通过...

2018-06-21 15:13:04 297 0

转载 揭秘threadLocal

揭秘ThreadLocal ThreadLocal是开发中最常用的技术之一,也是面试重要的考点。本文将由浅入深,介绍ThreadLocal的使用方式、实现原理、内存泄漏问题以及使用场景。ThreadLocal作用在并发编程中时常有这样一种需求:每条线程都需要存取一个同名变量,但每条线程中该变量的值...

2018-06-21 14:59:34 51 0

转载 Java异常体系中的秘密

Java异常体系中的秘密 相信大家每天都在使用Java异常机制,也相信大家对try-catch-finally执行流程烂熟于胸。本文将介绍Java异常机制的一些细节问题,这些问题虽然很小,但对代码性能、可读性有着较为重要的作用。Java异常体系介绍 在学习一项技术前,一定要先站在制高点俯瞰技术全局...

2018-06-21 14:38:22 72 0

转载 常用的分布式事务解决方案

常用的分布式事务解决方案在这篇文章中:什么是事务?事务的四大特性 ACID事务的隔离级别事务并发执行会出现的问题数据库的四种隔离级别什么是分布式事务?CAP理论BASE理论酸碱平衡分布式事务协议两阶段提交协议 2PC三阶段提交协议 3PC分布式事务的解决方案方案1:全局事务(DTP模型)方案2:基...

2018-06-21 14:17:14 82 0

转载 HashMap源码和模型详解

HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机...

2018-06-19 17:00:15 360 0

转载 JVM内存结构解析

 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?  由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划...

2018-06-19 16:13:22 99 0

转载 java并发之阻塞队列

在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。  在前面我们接触的队列都是非阻塞队列,...

2018-06-19 16:00:19 197 1

转载 JAVA:Callable,Future和FutureTask

 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java...

2018-06-19 15:50:01 70 0

转载 藏在正则表达式里的陷阱

前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现 CPU 利用率将近 100%。通过 Java 自带的线程 Dump 工具,我们导出了出问题的堆栈信息。我们可以看到所有的堆栈都指向了一个名为 validateUrl 的方法,这样的报错信息在堆栈中一共超过 100 处...

2018-06-19 15:36:45 224 0

转载 java线程面试题问答(二)

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。  在典...

2018-06-15 11:15:19 256 0

原创 java并发面试题问答

java并发面试题问答多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立...

2018-06-15 11:09:14 338 0

转载 java的垃圾回收机制详解

Java垃圾回收机制  说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定...

2018-06-15 10:39:55 111 0

转载 一份好的简历需要包含的内容(程序员)

前段时间有朋友问他投了简历为什么公司迟迟没有给他面试机会,还有朋友说他因为频繁跳槽在复试的时候被拒绝,但是他说他每次跳槽都是有进步的,不过我从他简历中只能看到频繁跳槽,并没有看到进步。这些问题都和所写的简历息息相关。      在工作中,我曾筛选过近千封简历,面试过300名左右的求职者,也推荐过上...

2018-06-15 10:26:47 2127 0

转载 如何查看数据库的执行计划---全栈工程师第一步

mysql explain执行计划详解 1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 2)、select_type列常见的有:A:simple:表示不需要union操作或者不包含子查询的简单select查询...

2018-06-15 10:23:55 1212 0

转载 java的建议和方向

一、技术积累(1)代码规范1.1.1、通常的模块分布:一般如果你要实现一个web应用,你从后台将数据展示到前端页面,在一个比较大的公司,你少不了跟其他项目有交集(你调用他的接口,他依赖你的接口),这样下来,整个公司有很多个模块,怎么做到很好的联系。回到刚刚的模块分布,你的一个web应用,应当需要分...

2018-06-15 10:22:10 153 0

转载 volatile关键字详解(java多线程)

Java并发编程:volatile关键字解析   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上...

2018-06-15 10:19:54 55 0

转载 线程池原理解析(解读源码)

Java并发编程:线程池的使用  在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种...

2018-06-15 10:16:35 78 0

原创 IDEA入门级教程--个人设置

IDEA的个人配置与常用操作IDEA的个人配置修改代码编辑器新版的IDEA默认使用vim编辑器(linux下的一个工具),虽然熟练掌握后可以提高工作效率,但是学习成本很大,不习惯的可以选择关闭。修改主题及字号这个完全看个人喜好了。设置代码提示不区分大小写区分大小写的情况是这样的:比如我们在 Jav...

2018-06-15 10:12:41 4427 1

转载 IDEA高级使用教程

实时代码模板(Live Templates)这个就是实时代码模板的功能。我们来看一下怎么用它。看了这个图,你大概已经知道怎么建立一个新的模板了。下面将一下模板的变量。第一个gif图里用到了两个模板,一个是系统定义的psvm(private static void main的缩写),使用它我们可以快...

2018-06-15 10:06:27 2386 1

提示
确定要删除当前文章?
取消 删除