- 博客(74)
- 资源 (33)
- 收藏
- 关注
转载 Java高级工程师常见面试题
一、Java基础1. String类为什么是final的。2. HashMap的源码,实现原理,底层结构。3. 说说你知道的几个Java集合类:list、set、queue、map实现类咯。。。4. 描述一下ArrayList和LinkedList各自实现和区别5. Java中的队列都有哪些,有什么区别。6. 反射中,Class.forName和cl
2017-10-29 23:43:27 278
转载 高并发分布式系统中生成全局唯一订单号
高并发分布式系统中生成全局唯一订单号我了解的方案如下……………………………………………………………………1、 使用数据库自增Id优势:编码简单,无需考虑记录唯一标识的问题。缺陷:1) 在大表做水平分表时,就不能使用自增Id,因为Insert的记录插入到哪个分表依分表规则判定决定,若是自增Id,各个分表中Id就会重复,在做查询、删除时就会有异常。2)
2017-10-29 19:01:03 3690 1
转载 jmx入门及开发示例 jmx程序管理
jmx入门及开发示例jmx程序管理 官方介绍:http://docs.oracle.com/javase/1.5.0/docs/guide/jmx/overview/JMXoverviewTOC.html JMX(Java Management Extensions) 是来管理网络,设备,应用程序等资源,它描述了一个可扩展的管理体系结构,并且提供了 JMX API 和一些预
2017-10-28 22:51:28 755
转载 用AtomicStampedReference解决ABA问题
用AtomicStampedReference解决ABA问题在运用CAS做Lock-Free操作中有一个经典的ABA问题:线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的现场已经和最初不同了,尽管CAS成功,但可能存在潜藏的问题,例如下面的例子:现有一个用
2017-10-28 20:55:12 248
转载 JAVA CAS原理深度分析
感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到! 参考文档:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp://blog.hesey.net/2011/09/resolve-aba-by-atomicstampedreference.htmlhttp://www.searchso
2017-10-28 20:13:41 161
转载 notify发生死锁的情景
JVM多个线程间的通信是通过 线程的锁、条件语句、以及wait()、notify()/notifyAll组成。下面来实现一个启用多个线程来循环的输出两个不同的语句:package com.tyxh.block;class OutTurn { private boolean isSub = true; private int count
2017-10-27 17:32:08 252
转载 JVM知识点总览-中高级Java工程师面试必备
JVM知识点总览-中高级Java工程师面试必备 对于搞开发的我们其实也是一样,现在流行的框架越来越多,封装的也越来越完善,各种框架可以搞定一切,几乎不用关注底层的实现,初级程序员只要熟悉基本的使用方法,便可以快速的开发上线;但对于高级程序员来讲,内功的修炼却越发的重要,比如算法、设计模式、底层原理等,只有把这些基础熟练之后,才能在开发过程中知其然知其所以然,出现问题时能快
2017-10-27 16:19:49 175
转载 一个简单的单例示例
一个简单的单例示例单例模式可能是大家经常接触和使用的一个设计模式,你可能会这么写public class UnsafeLazyInitiallization { private static UnsafeLazyInitiallization instance; private UnsafeLazyInitiallization() { } pub
2017-10-27 10:29:59 392
转载 关于SimpleDateFormat安全的时间格式化线程安全问题
想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。下面我们通过一
2017-10-23 16:08:44 207
转载 java高级工程师面试题总结
、面试题基础总结1、 JVM结构原理、GC工作机制详解答:具体参照:JVM结构、GC工作机制详解 ,说到GC,记住两点:1、GC是负责回收所有无任何引用对象的内存空间。 注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2、GC回收机制的两种算法,a、引用计数法 b、可达性分析算法( 这里的可达性,大家可以看基础2 Java对象的什么周期),至于更详细的G
2017-10-23 15:46:59 2142
转载 浅谈http中Get与Post的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1.根
2017-10-23 15:28:40 227
转载 Java并发编程
Java并发编程:深入剖析ThreadLocal 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.
2017-10-21 23:04:05 127
转载 springmvc源码分析----入门看springmvc的加载过程
springmvc源码分析----入门看springmvc的加载过程接上一篇我们写的入门---http://www.cnblogs.com/duanxiaojun/p/6591448.html今天从这个门里进去我们看springmvc是如何在容器启动的时候将各个模块加载完成容器的创建的。我知道在web.xml文件中我们是这样配置springmvc的:我们的加载的入口就是
2017-10-19 10:50:41 535
转载 MYSQL性能优化的最佳20+条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为
2017-10-17 18:00:48 148
转载 Spring事务传播特性实例解析
原文地址:http://blog.csdn.net/liovey/article/details/14149137背景介绍 目前系统正在进行代码重构前期预研工作,目标采用spring控制事务以减少开发代码量,提高开发效率。同时避免开发人员编码控制事务所带来的链接没有释放,事务没有提交,出现异常事务没有回滚的Bug。 为保证系统能正确使用Sp
2017-10-17 14:23:57 165
转载 mysql 乐观锁实现
mysql 乐观锁实现一、为什么需要锁(并发控制)? 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。 典型的冲突有: 1.丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。 2.脏读:当一
2017-10-15 22:59:08 1867
转载 redis使用watch完成秒杀抢购功能
redis使用watch完成秒杀抢购功能 redis使用watch完成秒杀抢购功能:使用redis中两个key完成秒杀抢购功能,mywatchkey用于存储抢购数量和mywatchlist用户存储抢购列表。它的优点如下:1. 首先选用内存数据库来抢购速度极快。2. 速度快并发自然没不是问题。3. 使用悲观锁,会迅速增加系统资源。4. 比队列强的多,队列会使
2017-10-15 22:26:50 247
转载 秒杀和抢购
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因?一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个
2017-10-15 22:11:12 323
转载 秒杀业务分析架构
1 秒杀业务分析正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;2 秒杀技术挑战假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技
2017-10-15 20:24:34 453 1
转载 spring-boot注解整理
spring-boot注解整理 一、注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configurati
2017-10-15 15:43:43 192
转载 使用spring boot和thrift
使用spring boot和thrift、zookeeper建立微服务 Spring cloud适应于云端服务,也适用于企业信息化SOA建设。spring boot也是restful微服务开发的利器。但对于内网服务,即服务与服务之间的调用,spring并没有去刻意封装,也许他们认为已经没有必要了,因为已经有了thrift、ice等强大的框架。 如果是用spring boo
2017-10-15 10:22:15 1479
转载 如何在学习Java过程中死锁跟踪分析的处理!
如何在学习Java过程中死锁跟踪分析的处理!死锁死锁: 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。JAVA 中死锁产生的四个必要条件互斥使用,当资源被一个线程使用(占有)时,别的线程不能使用不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。请求和保
2017-10-15 09:54:26 330
转载 SQL删除重复数据方法
SQL删除重复数据方法Posted on 2009-11-24 13:48 孙潇楠 阅读(100785) 评论(6) 编辑 收藏例如: id name value 1 a pp 2 a pp 3
2017-10-14 19:52:58 849 1
转载 Jvm dump介绍与使用(内存与线程)
Jvm dump介绍与使用(内存与线程)很多情况下,都会出现dump这个字眼,java虚拟机jvm中也不例外,其中主要包括内存dump、线程dump。 当发现应用内存溢出或长时间使用内存很高的情况下,通过内存dump进行分析可找到原因。当发现cpu使用率很高时,通过线程dump定位具体哪个线程在做哪个工作占用了过多的资源。 首先,内存dump是指通过jmap -dump 输
2017-10-14 12:53:06 650
转载 CyclicBarri和 CountDownLatch的使用场景
CyclicBarrier的用法CyclicBarrier和CountDownLatch一样,都是关于线程的计数器。用法略有不同,测试代码如下: 1 public class TestCyclicBarrier { 2 3 private static final int THREAD_NUM = 5; 4 5 public static
2017-10-14 11:42:17 218
翻译 精选20道Java多线程面试题并有答案! 互联网IT技术 2017-10-14 00:02 1. 多线程使用的优缺点? 优点: (1)多线程技术使程序的响应速度更快 (2)当前没有进行处理的任务
精选20道Java多线程面试题并有答案!互联网IT技术 2017-10-14 00:021. 多线程使用的优缺点? 优点:(1)多线程技术使程序的响应速度更快(2)当前没有进行处理的任务可以将处理器时间让给其它任务(3)占用大量处理时间的任务可以定期将处理器时间让给其它任务(4)可以随时停止任务(5)可以分别设置各个任务的优先级以及优化性能缺点:(1)等
2017-10-14 11:23:28 1296
转载 学习Spring-Session+Redis实现session共享
学习Spring-Session+Redis实现session共享1、添加依赖dependency> groupId>org.springframework.sessiongroupId> artifactId>spring-session-data-redisartifactId> version>1.2.1.RELEASEversion>dependency>dep
2017-10-13 14:15:23 190
转载 深入理解 Java 垃圾回收机制
深入理解 Java 垃圾回收机制一:垃圾回收机制的意义java 语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存; 内存泄露:指该内
2017-10-13 10:50:58 124
转载 单点系统架构的可用性与性能优化
单点系统架构的可用性与性能优化一、需求缘起明明架构要求高可用,为何系统中还会存在单点?回答:单点master的设计,会大大简化系统设计,何况有时候避免不了单点在哪些场景中会存在单点?先来看一下一个典型互联网高可用架构。典型互联网高可用架构:(1)客户端层,这一层是浏览器或者APP,第一步先访问DNS-server,由域名拿到nginx的外网IP(2)负载
2017-10-11 15:01:47 164
转载 设计模式:JDK静态代理之Thread/Runnable
静态代理有如下要素:1.目标角色(真实角色)。2.代理角色。3.目标角色和代理角色实现同一接口。4.代理角色持有目标角色的引用。下面的例子是一个简单的静态代理模式。统一接口:[java] view plain copy print?package com.xs.pattern.staticproxy; /** * 统一接口 *
2017-10-11 14:21:49 316
转载 java synchronized
在java编程中,经常需要用到同步,而用得最多的也许是synchronized关键字了,下面看看这个关键字的用法。因为synchronized关键字涉及到锁的概念,所以先来了解一些相关的锁知识。 java的内置锁:每个java对象都可以用做一个实现同步的锁,这些锁成为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内置锁的唯一途
2017-10-11 14:09:28 153
转载 互联网公司面试题
1.Linux下如何查看/监控JVM内存?(快的)本地(带图形环境):jvisualvm 连接远程JVM线上(无图形环境):看总内存用top,看详细信息用jmap dump出来分析2.经常看到url中很长的一串请求参数,为什么不采用post方式?GET一般用于获取/查询 资源信息,而POST一般用于更新 资源信息。查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
2017-10-08 23:24:53 336
转载 Linux使用jstat命令查看jvm的GC情况
命令格式jstat命令命令格式:jstat [Options] vmid [interval] [count]参数说明:Options,选项,我们一般使用 -gcutil 查看gc情况vmid,VM的进程号,即当前运行的java进程号interval,间隔时间,单位为秒或者毫秒count,打印次数,如果缺省则打印无数次示例说明示例通常运行命令如下:
2017-10-08 17:36:23 129
转载 jvisualvm安装visualgc插件(java.net网站已关闭)
jdk1.7自带jvisualvm可以对java应用进行监控。其中有个插件visualgc可以查看jvm垃圾回收的具体信息。安装插件的步骤是打开jvisualvm,点击工具->插件,在可用插件列表找到Visual GC进行安装,结果提示无法安装。在浏览器打开链接访问一下,发现java.net网站已经被Oracle关闭了。正在抓狂间,偶然发现visualvm已经迁移到了github上,地址是http
2017-10-08 15:29:03 294
转载 JVM内存状况查看方法和分析工具
Java本身提供了多种丰富的方法和工具来帮助开发人员查看和分析GC及JVM内存的状况,同时开源界和商业界也有一些工具可用于查看、分析GC及JVM内存的状况。通过这些分析,可以排查程序中内存泄露的问题及调优程序的性能。下面介绍几种常用的免费工具,其中知名的有JProfiler 等。 1. 输出GC日志 输出GC日志对于跟踪分析GC的状况来说,无疑是最直接地分析内存回收状况的方法,
2017-10-08 14:51:45 194
转载 继承与组合的区别,使用场景
考虑继承的时候,需要考虑的几个场景1. 父类只是给子类提供服务,并不涉及子类的业务逻辑2. 层级关系明显,功能划分清晰,父类和子类各做各的。3. 父类的所有变化,都需要在子类中体现,也就是说此时耦合已经成为需求三、如何使用继承 1、精心设计专门用于被继承的类,继承树的抽象层应该比较稳定,一般不要多于三层。2、对于不是专门用于被继承的类,禁止其被继承。
2017-10-07 16:16:50 1443
转载 java error和exception的区别,RuntimeException和非RuntimeException的区别
异常框架Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题。比如:内存资源不足等。对于这种错误,程序基本无能为力,除了退出运行外别无选择,它是由Java虚拟机抛出的。Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题
2017-10-07 15:25:29 2236
转载 Linux top命令的用法详细详解
查看多核CPU命令mpstat -P ALL 和 sar -P ALL 说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txttop命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文通过一个运行中的
2017-10-07 15:10:38 241
转载 Linux使用jstat命令查看jvm的GC情况
Linux使用jstat命令查看jvm的GC情况命令格式jstat命令命令格式:jstat [Options] vmid [interval] [count]参数说明:Options,选项,我们一般使用 -gcutil 查看gc情况vmid,VM的进程号,即当前运行的java进程号interval,间隔时间,单位为秒或者毫秒count,打印次数,如果缺省则打印无
2017-10-07 14:52:38 229
转载 抽象类和接口的区别以及使用场景(记)
抽象类和接口的区别以及使用场景(记)抽象类和接口的区别以及使用场景记相同点不同点interface的应用场合abstract class的应用场合1. 相同点两者都是抽象类,都不能实例化。interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法。2. 不同点interface需要实现,要用impleme
2017-10-07 14:45:38 222
HtmlImageGenerator.rar
2020-09-25
openoffice_API.rar
2020-06-29
ExpordWord_demo.zip
2020-06-09
AndroidWorkspace.zip
2020-01-12
spring-boot-mail
2018-07-28
myflow流程图设计采用raphael的js文件
2018-01-25
Maven + Spring mvc + Mybatis + Velocity +国际化配置 demo
2017-04-26
vb6链接firebird样例
2017-03-02
ws(websocket)例子(xsocket\xlightweb)
2017-03-01
jacob-1.17-M2完整包
2017-02-13
后台模板HTML+整套Easyui皮肤组件-后台管理系统模板
2016-12-22
php+mysql超市进销存管理系统(SmPSS)
2016-08-26
断点续传服务
2016-06-13
nexus内置jetty安装
2016-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人