- 博客(314)
- 资源 (33)
- 收藏
- 关注
转载 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 1478
转载 如何在学习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 1295
转载 学习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 189
转载 深入理解 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 1442
转载 java error和exception的区别,RuntimeException和非RuntimeException的区别
异常框架Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题。比如:内存资源不足等。对于这种错误,程序基本无能为力,除了退出运行外别无选择,它是由Java虚拟机抛出的。Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题
2017-10-07 15:25:29 2235
转载 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 228
转载 抽象类和接口的区别以及使用场景(记)
抽象类和接口的区别以及使用场景(记)抽象类和接口的区别以及使用场景记相同点不同点interface的应用场合abstract class的应用场合1. 相同点两者都是抽象类,都不能实例化。interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法。2. 不同点interface需要实现,要用impleme
2017-10-07 14:45:38 222
转载 hash算法的实现原理,hashcode的实现原理
这个问题有点难度,不是很好说清楚。 我来做一个比喻吧。 我们有很多的小猪,每个的体重都不一样,假设体重分布比较平均(我们考虑到公斤级别),我们按照体重来分,划分成100个小猪圈。 然后把每个小猪,按照体重赶进各自的猪圈里,记录档案。 好了,如果我们要找某个小猪怎么办呢?我们需要每个猪圈,每个小猪的比对吗? 当然不需要了。 我们先看看要找的这个小猪的体重,然后就找
2017-10-07 14:04:35 1800
转载 深入理解Java:注解(Annotation)--注解处理器
注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接口。除此之外,Java在java.lang.reflect 包下新增了AnnotatedElement接口,该接口代表程序中可以接受注解的程序元素,该接口主要有如下几个实现类: Clas
2017-10-06 21:53:30 231
转载 一起写RPC框架(一)RPC之我所见
RPC 技术出来很多年了,出来的时候我估计还刚刚上大学,在国内,dubbo应该算是先驱者吧,下面的图更是RPC架构经典中的经典RPC在我的认知体系中,简而言之,就是调用端,也可以称之为消费者(Consumer)获取到提供者的网络地址,并把方法调用的入参通过网络传递给Provider端,提供者端监听网络上的某个端口获取到参数,调用己方的方法,把结果再通过网络回传给消费者端
2017-10-06 17:02:01 307
转载 Java集合---ConcurrentHashMap原理分析
一、背景:线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程
2017-10-06 15:24:14 145
转载 java集合框架-Map
一、HashMap,即java.util.HashMap标准链地址法实现。这个不用多解析,下图十分明了。(图片来自网络)二、Collections.synchronizedMap() 函数返回的线程安全的HashMap这个的实现比较简单。代码中有:12privatefinal
2017-10-06 12:17:26 149
转载 IO流及集合框架结构图
网上看到这两幅图,比较基础,一目了然,收藏了;关键:Collection是List、Set、Map之间的转换接口;关键:InputStreamReader、OutputStreamWriter是字节流与字符流的桥梁
2017-10-06 11:47:43 438
转载 初始 RPC 框架
初始 RPC 框架 ,方便理解Java代码 /* * Copyright 2011 Alibaba.com All right reserved. This software is the * confidential and proprietary information of Alibaba.com ("Confidential * Informat
2017-10-06 10:17:08 141
转载 Java的SPI机制与简单的示例
一、SPI机制这里先说下SPI的一个概念,SPI英文为Service Provider Interface单从字面可以理解为Service提供者接口,正如从SPI的名字去理解SPI就是Service提供者接口;我对SPI的定义:提供给服务提供厂商与扩展框架功能的开发者使用的接口。在我们日常开发的时候都是对问题进行抽象成Api然后就提供各种Api的实现,这些Api的实现都是封装与我们
2017-10-05 23:10:31 167
转载 一起学Netty(十五)之 AttributeMap属性
本来没打算研究这个东西的,一开始觉得没啥用,甚至觉得这个东西有点鸡肋,不过慢慢接触之后,发现了这个AttributeMap的重要性初学这个东西,我们还是先理解AttributeMap的用法吧1)AttributeMap这是是绑定在Channel或者ChannelHandlerContext上的一个附件,相当于依附在这两个对象上的寄生虫一样,相当于附件一样,如图所示:
2017-10-05 11:30:33 489
转载 一起学Netty(十五)之 AttributeMap属性
本来没打算研究这个东西的,一开始觉得没啥用,甚至觉得这个东西有点鸡肋,不过慢慢接触之后,发现了这个AttributeMap的重要性初学这个东西,我们还是先理解AttributeMap的用法吧1)AttributeMap这是是绑定在Channel或者ChannelHandlerContext上的一个附件,相当于依附在这两个对象上的寄生虫一样,相当于附件一样,如图所示:
2017-10-05 10:43:35 336
转载 一起学Netty(十四)之 Netty生产级的心跳和重连机制
sigh,写这篇博客的时候老脸还是红了一下,心里还是有些唏嘘的,应该算是剽窃吧,每个人的代码功力的确是有差距的,好在文章的标题是“一起学”,而不是开涛大神的“跟我学”系列的文章,我们还是多花点时间学习吧,感叹无用~最近工作比较忙,但闲暇之余还是看了阿里的冯家春(fengjiachun)的github上的开源代码Jupiter,写的RPC框架让我感叹人外有人,废话不多说,下面的代
2017-10-05 10:40:34 220
转载 一起学Netty(十三)之 Netty简单的重连机制
其实重连机制并不是多么多高深的技术,其实就是一个在客户端做一个简单的判断,如果连接断了,那么就重新调用连接服务端的代码当然,我们重连的动作肯定是发生在断连之后发生的,我们可以在上篇的心跳机制的基础上,简单地修改一下客户端的启动代码就可以了:我们在连接断了之后,我们一般会在finally的方法中去释放资源,这边我们应该不去释放资源,我们在finally里面进行
2017-10-05 10:17:37 277
翻译 一起学Netty(二十)netty的比较规范的C/S端的写法
看了RPC框架Jupiter的源码和RocketMQ的Netty部分的代码,最后还是总结一下,把与Netty相关的代码都截取出来,写出一个比较规范的DEMO这个DEMO还是比较简单的,但麻雀虽小五脏俱全啊,有心跳,有重连,有ack的,可以与大家分享一下~https://github.com/BazingaLyn/netty-study/tree/master
2017-10-04 23:25:42 333
转载 一起学Netty(十八)netty源码学习之netty server端源码初读(上)
server端是使用了Reactor模式对nio进行了一些封装,Reactor模式网上有很多资料,不赘述,了解了这个模式开始看源码netty的版本是4.0.21.Final[html] view plain copydependency> groupId>io.nettygroupId> art
2017-10-04 23:19:34 187
转载 一起学Netty(十二)之 Netty心跳简单Demo
前面简单地了解了一下IdleStateHandler,我们现在写一个简单的心跳demo:1)服务器端每隔5秒检测服务器端的读超时,如果5秒没有接受到客户端的写请求,也就说服务器端5秒没有收到读事件,则视为一次超时2)如果超时二次则说明连接处于不活跃的状态,关闭ServerChannel3)客户端每隔4秒发送一些写请求,这个请求相当于一次心跳包,告之服务器端:客户端仍旧活着
2017-10-04 23:17:26 183
转载 一起学Netty(十一)之 Netty心跳之IdleStateHandler
Netty提供了对心跳机制的天然支持,心跳可以检测远程端是否存活,或者活跃今天我们就一起初识一下Netty4的心跳机制Netty4.0提供了一个类,名为IdleStateHandler,这个类可以对三种类型的心跳检测这个类的构造参数是这样的:前三个的参数解释如下:1)readerIdleTime:为读超时时间(
2017-10-04 22:47:52 490
转载 一起学Netty(九)之LengthFieldBasedFrameDecoder
之前介绍了Netty天然的几种解析器,也稍微介绍了一下ByteToMessageDecoder类,我们对Netty的解码器还是有了一定的了解~今天要介绍的是Netty中一个很重要的解码器,因为相比于其他的普通的解码器,这个解码器用的场景更多,并不是说其他解码器不重要,只是因为我们业务场景所致在当今比较流行的水平拆分的架构之下,RPC协议很是流行,这样可以使各
2017-10-04 22:32:14 247
转载 一起学Netty(六)之 TCP粘包拆包场景
TCP编程底层都有粘包和拆包机制,因为我们在C/S这种传输模型下,以TCP协议传输的时候,在网络中的byte其实就像是河水,TCP就像一个搬运工,将这流水从一端转送到另一端,这时又分两种情况:1)如果客户端的每次制造的水比较多,也就是我们常说的客户端给的包比较大,TCP这个搬运工就会分多次去搬运。2)如果客户端每次制造的水比较少的话,TCP可能会等客户端多次生产之后,把所有的水一起
2017-10-04 16:58:33 445
转载 一起学Netty(五)之 初识ByteBuf和ByteBuf的常用API
网络传输的载体是byte,这是任何框架谁也逃脱不了的一种规定,JAVA的NIO提供了ByteBuffer,用来完成这项任务,当然ByteBuffer也很好的完成了这个任务,Netty也提供了一个名字很相似的载体叫做ByteBuf,相比于ByteBuf而言,它有着更加更多友善的API,也更加易于维护,并且它可以扩容一般来说,ByteBuf都是维护一个byte数组的,它
2017-10-04 16:43:49 291
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关注的人