自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

onefly

技术空间

  • 博客(14)
  • 资源 (4)
  • 收藏
  • 关注

原创 jvm垃圾收集器配置-2

-XX:+CMSIncrementalMode

2016-07-18 22:10:09 602

原创 springmvc支持json和jsonp类型数据

在使用springmvc开发rest接口的时候很方便,可以直接使用@ResponseBody注解,直接加在springmvc的控制器类的方法上,springmvc会直接为我们将返回的对象序列化成为json类型的数据,

2016-07-14 14:31:47 4599 1

原创 java堆外内存泄漏

java堆外内存泄漏最近有个系统在做压力测试,环境配置:4核CPU 8g内存 jdk1.6.0_25,jvm配置-server -Xms2048m -Xmx2048m 出现问题如下执行并发300人,压测持续1个小时内存使用率从20%上升到100%,tps从1100多降低到600多。

2016-07-14 13:53:01 14534

原创 jvm垃圾收集器配置-1

-XX:+UseSerialGC 开启单线程、Stop-The-World的新生代和老年代垃圾收集器。它是jvm中最古老而且最成熟的垃圾收集器,一般来说,只有在客户端java程序的时候才会使用该垃圾收集器,java堆都比较小,是client模式默认使用的垃圾收集器。-XX:+UseParallelGC 开启jvm的多线程、Stop-The-World的Throughput收集器。又被称为并行收集器。使用多线程利用多CPU来提高GC的效率,主要以达到一定的吞吐量为目标。不过只是在新生代使用多线程垃圾收集器,

2016-07-10 22:22:44 1065

原创 ThreadPoolExecutor详解-FixedThreadPool

FixedThreadPool类型的线程池由Executors创建

2016-07-10 18:20:01 10914

原创 Executor框架-Executors

ThreadPoolExecutor是Executor框架的一个主要实现类,是执行具体任务的实现类。该实现类有Executor中的工厂类Executors提供的静态工厂方法负责创建。主要静态方法看

2016-07-10 17:40:04 1219

原创 Executor框架简介

Executor框架主要有3大部分组成1、任务:包括被执行任务需要实现的接口,Runnable接口或Callable接口2、任务的执行:包括任务执行机制的核心接口Executor,以及继承自Executor的ExecutorService接口。Executor框架有两个关键类实现了ExecutorSerivce接口(ThreadPoolExecutor和ScheduledThreadPoolExecutor)3、异步计算的结果:包括接口Future和实现Future接口的FutureTask类

2016-07-10 10:20:20 373

原创 常用JVM参数配置

在java启动脚本的参数配置中经常会看到一些形如:-XX:<+|->name的jvm参数,表示开启或关闭某项特性或属性,+代表开启,-代表关闭,下面介绍一些常用的内存分配配置参数

2016-07-10 09:58:53 936

原创 多线程-CountDownLatch应用

CountDownLatch是jdk1.5版本之后的并发包中提供的可以实现join类似功能的实现类,比join的功能更多,使用更方便。CountDownLatch直接一个int类型的参数构成作为计算器,,然后我们通过CountDownLatch的引用调用countDown方法,计算器就会减1。而主线程则通过CountDownLatch提供的await方法进行阻塞,等待计数器减为0之后,则主线程停止阻塞,继续运行。当然如果主线程不想永远傻等下去,也可以传入超时时间和时间单位参数,等待超时时间结束后,主线程依

2016-07-04 21:50:14 595

原创 多线程-join的应用

如果我们有多个子任务需要用多线程来处理,但是主线程又需要等待所有子线程执行完成后在返回,最简单的做法就是使用线程的join方法。

2016-07-04 21:32:47 393

原创 java原子操作类-原子数组类

java还提供了通过原子方式更新数组里的某个元素,Atomic包提供了以下4个类。AtomicIntegerArray:原子更新整型数组里的元素AtomicLongArray:原子更新长整型数组里的元素AtomicReferenceArray:原子更新引用类型数组里的元素

2016-07-04 20:58:39 920

原创 java原子操作类-基本类型类

当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i=1,A线程更新i+1,B线程也更新i+1,经过两个线程操作之后可能i不等于3,而是等于2。因为A和B线程在更新变量i之前拿到i的值都是1,这就是线程不安全的更新操作,通常我们可以采用synchronized来解决这个问题,但是效率比较低。

2016-07-03 22:39:47 2539

原创 java并发锁-Lock之队列同步器

Lock接口的实现基本上都是通过聚合了一个同步器的子类赖世雄线程的访问控制的。队列同步器AbstractQueuedSynchronizer是用来构建锁或者其他同步组件的基础框架,它内部使用了一个volatiole修饰的int类型的成员变量state来表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。

2016-07-03 18:20:18 1255

原创 java并发锁-Lock接口

并发锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。在Lock接口出现之前,java主要依靠synchronized的关键字来实现多线程的同步功能。而从JDK1.5之后,并发包中新增了Lock接口来实现并发锁的功能,它提供了与synchronized关键字类似的同步功能,但是需要在使用时需要显示的获取锁和释放锁。与synchronized相比缺少了隐式的获取和释放锁的便捷性,但是却拥有了锁获取和释放的可操作性、可中断的获取锁以及超时获取锁等多种synchronize

2016-07-02 22:19:15 750

mybatis分页配置

mybatis分页的配置方法,可以实现物理分页

2014-12-10

mybatis代码生成工具

mybatis代码生成工具,可以直接生成mapper,sql配置文件

2014-12-10

开发框架-springmvc,mybatis

springmvc/spring/mybatis

2014-12-10

Java通过内容模板发送邮件,支持附件

支持通过模板定义邮件内容然后发送邮件,这是一个工具栏,打包后即可使用

2014-06-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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