自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(156)
  • 收藏
  • 关注

以秒为单位生成唯一的时间序列号

import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.ConcurrentMap;import java.util...

2018-09-01 23:10:40 848

通过AQS实现一个互斥锁

 import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;/**...

2018-08-27 22:55:21 359

原创 Java沙箱机制

java安全沙箱机制介绍 组成Java沙箱的基本组件如下:·类加载体系结构·class文件检验器·内置于Java虚拟机(及语言)的安全特性·安全管理器及Java APIJava安全模型的前三个部分——类加载体系结构、class文件检验器、Java虚拟机(及语言)的安全特性一起达到一个共同的目的:保持Java虚拟 机的实例和它正在运行的应用程序的内部完整性,使得它们不被下载的恶意代码...

2018-08-11 20:25:31 903

Java内存泄露实例代码

内存泄露本质:长生命周期的对象持有了短生命周期的对象的引用。 减少内存泄露风险方式:1.单例模式。 单例模式一般都是全局静态持有,所以需要注意,尽量不要在单例中持有大对象。2.遇到大对象的时候,用完及时设为null。3.对象尽可能的减小其生命周期。4.I/O流用完一定要关闭。如文件流、socket流、数据库连接等5.引用类型的数组中某个元素不再需要的时候,一定要设为...

2018-08-08 21:31:14 995

Java强引用-软引用-弱引用-虚引用

引用分为四个,从高到低的级别以此为强引用-软引用-弱引用-虚引用.引用类型类别回收机制用途生存时间强引用从不回收对象状态JVM停止运行时软引用内存不足时进行回收缓存内存不足弱引用对象不被引用时回收缓存GC运行后虚引用对象被回收时管理控制精确内存稳定性unknown可以利...

2018-07-29 21:58:18 97

原创 Java内存模型

转自:https://www.cnblogs.com/nexiyi/p/java_memory_model_and_thread.html1. 概述  多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS...

2018-07-29 19:08:03 82

原创 基于SVN进行代码开发流程

1 SVN标准目录Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是:  这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。...

2018-07-17 15:13:31 680

Java对象的深拷贝和浅拷贝

浅拷贝:对象中的基本类型进行值拷贝,引用类型对引用地址进行拷贝。深拷贝:对象中的基本类型和引用类型对应的值都进行拷贝。 注意:不管是深拷贝还是浅拷贝,拷贝之后,两个对象的hashcode 不同,而且equels() 返回也是false。  java 实现浅拷贝: 必须实现Cloneable 接口,并且重写Object 的clone() public class S...

2018-07-13 20:25:58 138

设计模式(九)--模板方法模式

 模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到了子类中去,模板方法使得子类可以在不改变算法结构的基础上,重新定义算法中的某些步骤。 设计原则:好莱坞原则(别调用我们,我们会调用你)。顶层模块会主动调用底层模块,不要用底层模块去调用顶层模块。 基本结构: public abstract class AbstractClass { /**...

2018-05-29 22:02:22 104

原创 synchronized用法总结

《编程思想之多线程与多进程(1)》一文详细讲述了线程、进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础。本文将接着讲一下Java线程同步中的一个重要的概念synchronized.synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种:1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块...

2018-04-22 11:13:10 106

原创 编程思想之多线程与多进程

什么是线程什么是线程?线程与进程与有什么关系?这是一个非常抽象的问题,也是一个特别广的话题,涉及到非常多的知识。我不能确保能把它讲的话,也不能确保讲的内容全部都正确。即使这样,我也希望尽可能地把他讲通俗一点,讲的明白一点,因为这是个一直困扰我很久的,扑朔迷离的知识领域,希望通过我的理解揭开它一层一层神秘的面纱。任务调度线程是什么?要理解这个概念,须要先了解一下操作系统的一些相关概...

2018-04-22 11:01:54 169

Bigdecimal使用注意事项

/** * 注意的问题: * 0.构造有几种方式 * 1.加减乘除 * 2.精度问题 * 3.比较大小 */ /** * 设置精度: * BigDecimal.setScale()方法用于格式化小数点 * setScale(1)表示保留一位小数,默认用四舍五入方式...

2018-01-21 19:51:52 136

java通过org.w3c.dom解析xml文件

要点:  // 属性值获取 String Element.getAttribute(name); //标签值通过父元素对象获取 NodeList parentElement.getElementsByTagName(name); //标签中间的值获取 String Element.getTextContent()  ...

2018-01-11 12:37:19 507

设计模式(八)--外观模式

外观模式:提供了一个统一的接口,用来访问子系统中的一大堆接口,外观定义了一个高层接口,让子系统更容易使用。 意图: 让接口更加简单。 public interface Light { void on(); void off(); void dim();} public interface Screen { void up();...

2018-01-09 21:39:52 72

设计模式(七)--适配器模式

适配器模式:将一个类的接口,转换成客户期望的另外一个接口,适配器将原本接口不兼容的类可以合作无间。 意图:不改变接口,但加入责任   /** *暴露的公共接口 * Created by Administrator on 2018/1/9. */public interface Duck { void quack(); void fly()...

2018-01-09 21:32:49 75

设计模式(六)--命令模式

命令模式:将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 public interface Command { /** * 执行动作 * */ void execute(); /** * 撤销功能 * */ void undo();} ...

2018-01-06 17:34:14 76

代码优化

字符串:String 是final类,初始化之后,不会再改变,尽量不要使用+来对字符串进行拼接。下面举几个栗子: 片段一:禁止在循环体中使用通过+ 来拼接字符串  /** * 禁止在循环体中使用通过 + 来拼接字符串 * */ String result = ""; for (int i ...

2017-12-24 22:15:17 106

设计模式(五)--单例模式

 单例模式:确保一个类只有一个实例,并提供一个全局访问点 单例有两种方法:1延迟加载,2非延迟加载 package com.em.singleton;/** * Created by Administrator on 2017/12/23. */public class Singleton { /* * 必须是私有构造方法 ...

2017-12-23 11:11:25 85

设计模式(四)--装饰器模式

装饰器模式:动态的将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 意图:将一个接口转换为另一个接口  设计原则:开闭原则(对类的扩展开放,对修改关闭) 装饰器模式设计要点:1.装饰者和被装饰对象有相同的超类型2.可以用一个或者多个装饰者去包装一个对象3.装饰者可以在所委托被装饰者的行为之前或者之后,加上自己的行为,已达到特定的目的...

2017-12-10 21:09:44 78

原创 设计模式(三)--工厂模式(工厂方法模式+抽象工厂模式)

工厂模式:具体的可以分为两种,分别是工厂方法模式 、抽象工厂模式。 工厂方法模式:定义了一个创建对象的接口,但是由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到了子类。设计原则:依赖倒置原则(要依赖抽象,而不是依赖具体类)。遵守依赖倒置原则的几个建议:1.变量不可以持有具体类的引用(如果使用new,就会持有具体类的引用,可以改用工厂来避开这样的做法)2.不要让...

2017-12-09 21:52:11 82

原创 每个程序员都应牢记的7种坏味道,11种原则,23种模式

每个程序员都应牢记的7种坏味道,11种原则,23种模式  23种设计模式详解: http://www.runoob.com/design-pattern/design-pattern-tutorial.html (一)7种设计坏味道 1.僵化性: 很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其它改动。 2.脆弱性: 对系统的改动会导致系统中和改动的地方在...

2017-12-07 12:04:18 95

原创 节约内存

http://blog.csdn.net/numbibi/article/details/7492808http://blog.csdn.net/l_215851356/article/details/54581454

2017-11-29 19:53:37 123

设计模式(二)--观察者模式

观察者模式:定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。设计原则:1.为交互对象之间的松耦合设计 注意:java本身自带了这种模式的接口。  具体实现如下:  /** *主题接口 */public interface Subject { void registerObserver(Obse...

2017-11-18 13:24:14 190

设计模式(一)--策略模式

策略模式:定义了算法族,分别封装起来,让它们之间可以互相转换,此模式让算法的变化独立于使用算法的客户。设计原则:1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。2.针对接口编程(针对超类)而不是针对实现编程。3.多用组合少用继承。 抽象出来的飞行行为:public interface FlyBehavior { void...

2017-10-29 12:11:43 71

java并发相关

Condition :http://www.jianshu.com/p/be2dc7c878dcLock: http://blog.csdn.net/vernonzheng/article/details/8288251并发相关类: http://tutorials.jenkov.com/java-util-concurrent/index.html ,  http://tutoria...

2017-10-21 17:52:42 86

原创 netty实现同步调用

http://blog.csdn.net/kefeng824/article/details/45576779http://blog.csdn.net/tycoon1988/article/details/38868917

2017-10-18 19:53:43 2177

shell 脚本断点执行

#!/bin/basha=0b=0val=`expr $a + $b`for f in `find /home/sdata/30092/ -name "*.data" |xargs wc -l |gawk '{print $1}'`do currentFileLines=$f val=$[$val+$currentFileLines]#断点read rea...

2017-09-21 14:19:49 3790

原创 shell脚本入门篇

shell脚本 入门 —— 符号篇 shellShell就是一个命令行解释器,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一 个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地...

2017-09-21 11:12:39 107

VM 下配置固定IP【NAT方式】

 修改为静态IP: 此路径:cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=staticIPADDR=192.168.159.136NETMASK=255.255.255.0GA...

2017-06-16 15:57:06 86

URL类发起http请求

public static void doPost(String path){ InputStream in = null; try { URL url=new URL(path); in = url.openConnection().getInputStream(); St...

2017-05-03 20:10:07 198

Logback不重启程序重新加载配置文件

下面配置代表不重启服务,在指定时间后重载日志配置文件 logback.xml <configuration scan="true" scanPeriod="30 seconds">....</configuration>        配置说明:scan: 设置为true,代表会在指定的时间内重新加载日志配置文...

2017-04-15 15:11:26 2290

原创 JVM参数

Xms Xmx PermSize MaxPermSize 区别 设置大小的解释http://zhouanya.blog.51cto.com/4944792/1370017/

2017-03-22 09:37:59 67

linux查看系统资源使用率的几个命令

 负载查看命令:  tophttp://www.cnblogs.com/kaituorensheng/p/3602805.htmlhttp://www.jb51.net/LINUXjishu/34604.html  内存查看命令: vmstathttp://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.html...

2017-03-21 23:13:57 417

nohup命令执行脚本

nohup ./xxxx.sh >out.log 2>&1 & 其中 0、1、2分别代表如下含义: 0 – stdin (standard input) 1 – stdout (standard output) 2 – stderr (standard error)nohup ./startWebLogic.sh >out.log 2>&am...

2017-03-08 13:38:31 1646

原创 Excel统计技巧

http://jingyan.baidu.com/article/624e7459a742e734e8ba5adc.html http://jingyan.baidu.com/article/ad310e80acac951849f49e92.htmlFREQUENCY函数【可以统计区间】countif函数【统计个数】...

2017-02-22 00:07:07 97

原创 jstat 命令 详解

jstat -gccause pid 1 每格1毫秒输出结果jstat -gccause pid 2000 每格2秒输出结果不断的在屏幕打印出结果   S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT   LGCC                 GCC                  ...

2017-01-10 09:41:30 505

原创 jmap使用详解

1.  jmap -heap pid         查看Java 堆(heap)使用情况        using thread-local object allocation.        Parallel GC with 4 thread(s)          //GC 方式          Heap Configuration:       //堆内存初始化配置      ...

2017-01-09 15:10:12 421

Maven编译打包出错:找不到符号

  项目中,使用的是maven管理,但是有几个jar不是通过maven引入的,是通过IDEA导入的,在使用maven插件编译的时候,会出现如下的一些错误:   解决方法:在项目中创建一个目录lib,然后将jar复制到该文件夹下,最后在maven编译插件中配置如下   <plugin> &lt...

2016-08-24 13:57:24 1044

Log4j2手册阅读随笔(Log4j2新特性)

1.丢数据这种情况少,可以用来做审计功能。而且自身内部报的exception会被发现,但是logback和log4j不会。2.log4j2使用了disruptor技术,在多线程环境下,性能高于logback等10倍以上。3.(garbage free)之前的版本会产生非常多的临时对象,会造成GC频繁,log4j2则在这方面上做了优化,减少产生临时对象。尽可能少的GC4.利用插件系统...

2016-08-17 22:14:28 173

原创 QuartZ Cron表达式

CronTriggerCronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。即便如此,SimpleTrigger一样,C...

2016-07-18 17:43:38 58

空空如也

空空如也

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

TA关注的人

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