- 博客(56)
- 收藏
- 关注
原创 jvm - 查看运行时的情况
1.查看应用程序分配的内存情况ps -ef | grep java应用程序名称-Xms 和 -Xmx 分别代表分配JVM的最小内存和最大内存。2.查看gc情况(1) jstat -gc 12538 5000-- 说明:12538 进程号 5000打印间隔时长(单位:ms)(2) jstat -gcutil 29727 1s-- 说明:12538 进程号 1s打印间隔时长显示内容说明:S0...
2018-02-26 20:38:36
1101
原创 jvm - 内存结构,GC
1.jvm的生命周期(1) JVM在它的生存周期中有一个明确的任务,那就是运行Java程序。因此当Java程序启动的时候,就产生JVM的一个实例;当程序运行结束的时候,该实例也跟着消失了(2) Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。 在程序执行时,你必须给Java虚拟机指明这个包含main()方法的类名。(可以在pom文件打包...
2018-02-26 20:37:08
299
原创 elastic-job
1.原理弹性分布式:1) 任务上线时会自动将服务器信息注册到注册中心,下线会自动更新服务器状态2) 每次分片都会按服务器ip排序注册中心:1) 注册中心在定义的命名空间下,创建作业名称节点,用于区分不同作业,作业一旦创建则不能修改作业名称,修改名称视为新的作业作业名称节点包含:config节点:作业配置信息instances节点:作业运行实例信息sharding节点:作业分片信息servers节点...
2018-02-26 20:33:20
580
转载 kafka windows单机安装测试
初步了解一下一下kafka的基本用法。win7 64 bitjdk1.71)下载kafka_2.10-0.8.2.1.tgz并解压(整合scala)2)修改配置文件(可选)config/zookeeper.properties dataDir=/zookeeper这么写建到d盘根目录 dataDir=zookeeper
2016-06-14 14:38:58
1650
转载 Java实现与ZooKeeper的连接
Java实现新建一个类实现接口Watcher. 是指:This interface specifies the public interface an event handler class must implement. A ZooKeeper client will get various events from the ZooKeepr server it connects
2016-06-13 16:19:41
2803
原创 zookeeper windows的安装
1.安装和配置 a.官网下载:http://mirrors.cnnic.cn/apache/zookeeper/ b.在conf目录下修改zoo_sample.cfg的配置文件,重命名为zoo.cfg 其内容如下: # The number of milliseconds of each tick 心跳间隔 毫秒每次 tickTime=2000
2016-06-12 16:52:14
438
转载 Linux中tail与cat的区别
一、tail功能:显示指定文件的后若干行。语法:tail [+ / - num ] [参数] 文件tail命令中各个选项的含义为:+num 从第num行以后开始显示。- num 从距文件尾num行处开始显示。如果省略num参数,系统默认值为10。 l 以文本行为num的计数单位。与参数选项+num或- num选项同时使用时,num表示要显示的文本行行数。c 以字节为
2016-06-07 13:54:26
5410
原创 linux常用命令
linux文本编辑器(vi命令)*********************************************************vi filename -- 进入文件(创建文件)两种工作模式编辑模式:在此模式下,输入可见字符时和Windows下输入字符的功能相同。按Esc键可切换至命令模式。命令模式:在此模式下,输入可见字符对应的是命令。按i或者i
2016-06-07 13:30:53
321
原创 简单的netty demo
1.下载netty-3.10.5.Final.jar,下载地址:netty-3.9.2.Final-dist.tar.bz22.建立Java项目,导入jar包3.编写服务器端程序package netty_test.test;import java.net.InetSocketAddress;import java.util.concurrent.Executors;import
2016-06-03 18:03:26
1073
转载 maven install Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-wa
maven打包成war时,报错:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project web_nanchang: Error assembling WAR: webxml attribute is required 原因:找不到web.xml,但是项
2016-06-01 08:43:18
570
转载 maven POM.xml 标签详解
span style="padding:0px; margin:0px">project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org
2016-05-31 15:39:04
449
原创 tomcat启动(设置catalina_home和不设置的区别)
用于启动Tomcat的批处理文件startup.bat,在这个文件中,1.首先判断CATALINA_HOME环境变量是否为空: (1)如果为空,就将当前目录设为CATALINA_HOME的值。 (12)接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值。根据笔者机器
2016-05-31 13:44:01
10747
转载 Quartz任务调度--集群
一.Quartz的工作原理 对于一个调度作业,通常有两个因素构成:调度的内容【What】:即调度具体做什么工作,例如是发邮件、系统备份;调度的时间【when】:什么时候工 作,这个又包含两个内容,开始时间【调度第一次执行的时间】,调度时间【在调度开始之后,在什么时间的时候,执行定义的调度工作】。 Quartz框架提供了Job接口和Trigger接口来分别对应调度的内
2016-05-31 11:39:27
886
原创 mysql key duplicate
MySQLinsert 操作/主键冲突:Duplicate问题在insert数据时在一个UNIQUE索引或PRIMARY KEY中出现重复值的问题:可以在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,则在出现重复值的行执行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。创建测试表,准备数据DROP TABLE IF EXISTS `test
2016-05-26 17:24:52
761
转载 序列和索引
序列序列是一种用来生成唯一数字值的数据库对象,是一种高效率获得唯一键值的途径。序列的值由Oracle程序按递增或递减顺序自动生成,通常用来自动生成表的主键值。序列是独立的数据库对象,并不依附于表,一个序列可以为一个表作主键值,也可以为多个表提供主键值。 创建序列CREATE SEQUENCE sequence_name[START WI
2016-05-23 17:55:31
996
原创 redirect和forward的区别
forword:是服务器请求支援,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪里来的,所以地址栏是不变的。redirect:是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏的URL改变成跳转的URL。本质区别解释一一句话,转发是服务器行为,重定向是客户端行为。为什
2016-05-23 17:29:54
257
原创 session的使用
Session=========================================================================================1.简介------------------------------------------------------------Session代表服务器与浏览器的一次会话过程.数据保存在服务器
2016-05-23 16:58:03
321
原创 cookies的使用
1、什么是cookieCookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。cook
2016-05-23 14:38:04
517
原创 数据库事务隔离级别
数据并发的问题 一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库。数据库中的相同数据可能同时被多个事务访问,如果没有采取必要的隔离措施,就会导致各种并发问题,破坏数据的完整性。并发出现的数据问题:脏读,不可重复读,幻读脏读:A事务读取B事务没有提交的更新数据脏读场景:时间转账事务A取款事务B
2016-05-20 16:57:18
390
原创 数据库事务的四个特性
事务:就是用户定义的一个数据库操作的序列,这些操作要么一起执行,要么一起不执行,是一个不可分割的工作单位。数据库事务的四大特性:(简称ACID)(1)原子性(Atomicity)原子性:事务中包含的程序作为数据库的逻辑工作单元,它所做的随数据的修改操作要么全部执行,要么完全不执行,这种特性成为原子性。(2)一致性(Consistency)一致性:是在一个事务执行之前和执行之后数
2016-05-20 15:03:57
569
转载 SpringMVC深度探险(二) —— SpringMVC概览
对于任何事物的研究,总是由表及里、由浅入深地进行。在本系列的第二篇文章中,我们将通过不同的观察视角,对SpringMVC做一些概要性的分析,帮助大家了解SpringMVC的基本构成要素、SpringMVC的发展历程以及SpringMVC的设计原则。 SpringMVC的构成要素 了解一个框架的首要任务就是搞清楚这个框架的基本构成要素。当然,这里所说的构成要素实际上还可以被挖掘为两个
2016-05-20 13:31:07
369
转载 servlet的执行原理与生命周期
一、先从servlet容器说起:大家最为熟悉的servlet容器就是Tomcat ,Servlet 容器是如何管理 Servlet? 先看一下tomcat的容器模型:从上图可以看出 Tomcat 的容器分为四个等级,真正管理Servlet 的容器是Context 容器,一个 Context 对应一个 Web 工程从上图可以看出 Tomcat 的容器分为
2016-05-19 22:32:51
302
转载 SpringMVC原理
1.SpringMVC 的原理图1. 客户端发出一个http请求给Web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交 给DispatcherServlet2. 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Contro
2016-05-18 18:57:10
279
转载 Servlet
1.什么是Servlet2.Servlet有什么作用3.Servlet的生命周期4.Servlet怎么处理一个请求5.Servlet与JSP有什么区别6.Servlet里的cookie技术7.Servlet里的过滤器8.Servlet里的监听器 一.什么是Servlet?Servlet是一个Java编写的程序,此程序应用最多的是H
2016-05-18 16:55:38
316
转载 单例模式
第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (
2016-05-17 18:50:02
204
转载 HashMap、HashSet和Hashtable的区别
hashmap实现原理浅析看了下JAVA里面有HashMap、Hashtable、HashSet三种hash集合的实现源码,这里总结下,理解错误的地方还望指正HashMap和Hashtable的区别HashSet和HashMap、Hashtable的区别HashMap和Hashtable的实现原理HashMap的简化实现MyHashMap HashM
2016-05-17 18:16:00
454
原创 HashMap的实现原理
HashMap是一个Entry数组实现的,本质上是一个数组,数组中的每一个位置上存放的都是Entry实体。1.HashMap的基本构成:transient Entry[] table = (Entry[]) EMPTY_TABLE; // HashMap的基本构成Entry数组对应的Entry类的结构://HashMap的内部类,jdk8中使用的是Node类static
2016-05-17 17:57:27
289
转载 spring mvc 使用kaptcha生成验证码
By default, Kaptcha is very easy to setup and use and the default output produces a captcha that should be fairly hard to bust. The captcha's it produces by default look very similar to the one abov
2016-04-04 10:30:49
367
转载 kaptcha验证码的简单使用及配置
kaptcha是一个简单易用的验证码生成工具,而且支持中文,你还可以配置其很多属性。用法:1、首先到http://code.google.com/p/kaptcha/downloads/list把压缩文件下下来,然后把里面的jar文件加到自己的web项目中。2在web.xml中配置servlet,代码如下:Xml代码 servlet>
2016-03-31 16:32:09
552
转载 日志级别的选择:Debug、Info、Warn、Error还是Fatal
软件中总免不了要使用诸如 Log4net, Log4j, Tracer 等东东来写日志,不管用什么,这些东东大多是大同小异的,一般都提供了这样5个日志级别: × Debug × Info × Warn × Error × Fatal 一个等级比一个高,但是在具体开发中,关于应该如何选择适应的等级,却没有找到好的文章进行说明。记录一
2016-03-30 09:31:56
550
转载 Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解
本文介绍了使用Spring注解注入属性的方法。使用注解以前,注入属性通过类以及配置文件来实现。现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifier,@PostConstruct,@PreDestroy等注解来实现。1.1. 使用注解以前我们是怎样注入属性的类的实现:1public class Use
2016-03-29 23:44:14
489
转载 详解mysql int类型的长度值问题
我的朋友海滨问我mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢. 当时我虽然知道int(1),这个长度1并不代表允许存储的宽度,但却没有一个合理的解释. 或者说对这个长度也没有真正的研究过到底代表什么, 平时都用int(11), 也不知道为什么要11位. 所以我在网上查阅了一些资料,
2016-03-29 21:34:27
556
转载 BlockingQueue
在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起的作
2016-03-28 10:16:04
231
转载 java并发库 Lock 公平锁和非公平锁
jdk1.5并发包中ReentrantLock的创建可以指定构造函数的boolean类型来得到公平锁或非公平锁,关于两者区别,java并发编程实践里面有解释公平锁: Threads acquire a fair lock in the order in which they requested it非公平锁:a nonfair lock permits barging: threa
2016-03-28 10:08:29
282
转载 ThreadPoolExecutor使用
线程池0.常用构造方法-----------------------new ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, RejectedExecutionHandler hand
2016-03-24 22:08:30
247
转载 对象转换利器之Dozer
在Java的世界中,经常会涉及到需要在2个对象中进行转换,比如说: 调用SOAP Web服务,需要把自己的Domain对象转换为Soap服务的Jaxb对象请求,在分层级SOA架构中,2个层级之间Domain对象的转换,在分布式系统中,每个模块使用自己的领域对象,防止自己的业务被其他模块的domain对象影响通常情况下,程序员们会自己弄一个Transformer层,来做对象之间的转换
2016-03-24 22:07:11
373
原创 mysql数据库中date datetime timestamp time的区别
1.datetime类型用在需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示datetime值,支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'2.date类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以'YYYY-MM-DD'格式显示date值,支持的范围是'1000
2016-03-24 21:18:01
1184
原创 my97时间控件的使用
1.下载My97DatePicker.rar2.写一个简单的html页面来实现//其他的css等文件不需要引入3.实现指定格式的设置uploadTime:input class="Wdate" type="text" onfocus="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:
2016-03-22 17:52:17
556
转载 Apache kafka 工作原理介绍
消息队列消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上, 队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行–它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。在分布式计算环境中,为了集成分布式应用,开发者需要对异构网络环境下的分布式应用提供有效的通信手段。为了管理需要共享的信息,对应用提供公共的信息交换机制是重要的。常用
2016-03-22 15:34:05
288
原创 html src文件引入
1.相对路径 (1).如果源文件跟所引用的js文件在同一目录中,直接写上js的文件名就可以了 例如: (2).如果源文件所引用的js文件是在当前目录下的子目录中。直接写上js文件所在的文件夹的名字跟js文件名 例如: (3).如果源文件所引用的js文件是在上一级的目录中。使用../返回到上一级目录在写上js文件名 例如: (4).如果想引用上两级目录,可以..\..\
2016-03-18 09:36:00
10798
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人