- 博客(18)
- 资源 (17)
- 收藏
- 关注
转载 Redis常用五种数据类型
1.String(字符串)string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M 2.Hash(哈希)Redis hash 是一个键值对集合。 Redis hash是一个string类型的field和value的映射表,has...
2018-03-31 23:05:58 302
原创 Java NIO 中通道(Channel)的使用
通道(Channel)的使用说明/** * <pre> * 一、通道(Channel):用于源节点与目标节点的连接。在 Java NIO 中负责缓冲区中数据的传输。 * Channel 本身不存储数据,因此需要配合缓冲区进行传输。 * * 二、通道的主要实现类 * java.nio.channels.Channel 接口:...
2018-03-11 10:06:00 968
原创 Java NIO 中Buffer的使用
Buffer的使用说明/** * <pre> * 一、缓冲区(Buffer):在 Java NIO 中负责数据的存取。缓冲区就是数组。用于存储不同数据类型的数据 * * 根据数据类型不同(boolean 除外),提供了相应类型的缓冲区: * ByteBuffer * CharBuffer * ShortBuffer * IntBuffer * LongBuf...
2018-03-11 09:41:44 391
原创 java BIO、NIO、AIO 学习
一、java BIO、NIO、AIO 对比 名称 昵称 中文名称 JDK时间 说明 适用场景 IO BIO (即Block I/O) 同步阻塞式IO JDK1.4之前 一个线程处理一个连接,发起和处理IO请求都是同步的 适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程...
2018-03-10 23:20:58 324
转载 TCP/IP三次握手、四次挥手流程
TCP共有6个标志位,分别是:SYN(synchronous),建立联机。ACK(acknowledgement),确认。PSH(push),传输。FIN(finish),结束。RST(reset),重置。URG(urgent),紧急。TCP/IP三次握手通俗:A与B建立TCP连接时:1、首先A向B发SYN(同步请求),2、然后B回复SYN+ACK(同...
2018-03-10 23:04:45 12642 3
原创 使用JDK1.7 java.nio.file.Files.walkFileTree方法遍历文件夹下的文件
使用JDK1.7 java.nio.file.Files.walkFileTree方法遍历文件夹下的文件java.nio.file.Path方法: String toString() 返回此路径的字符串表示形式。 例子1package com.test;import java.io.IOException;import java.nio.file.Fil...
2018-03-09 20:38:45 5215
转载 System.getProperty("user.dir") 相关的值获取
System.getProperty(“user.dir”) 相关的值获取public class TestSystemProperty { public static void main(String[] args) { System.out.println("java版本号:" + System.getProperty("java.version")); /...
2018-03-09 20:35:49 1288
转载 AOP的实现原理 —— 静态代理 和 动态代理( Spring AOP)
这里的AOP指的是面向切面编程思想,而不是Spring AOP 。AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现主要分为 静态代理 和 动态代理 。 - 静态代理 主要是 `AspectJ` - 动态代理 主要是 `Spring AOP`
2018-03-08 17:51:56 17702 7
原创 单例模式之饿汉和懒汉(java)
面试时,经常会问到单例模式。单例模式的两种方式: 一种是饿汉式,就是在类初始化的时候,创建对象,这种方式是线程安全的,在程序运行期间就这一个对象。另一种是懒汉式,懒汉式是在第一次使用时才创建对象,但是如果在多线程环境中要考虑线程安全问题。比较喜欢的方式:饿汉式,不用考虑线程安全问题。 怎么区分饿汉和懒汉模式? 饿汉:饿了,饥不择食,系统一运行就创建对象,不考虑太多的...
2018-03-08 10:06:02 5498
原创 ActiveMQ 代码例子(入门)
ActiveMQ 代码例子创建maven工程在pom.xm中添加引用&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.activemq&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;activemq
2018-03-08 10:01:59 373
原创 ActiveMQ 持久化配置
ActiveMQ 持久化配置修改配置文件activemq.xml修改persistenceAdapter将下面这段配置,注释掉&lt;persistenceAdapter&gt; &lt;kahaDB directory="${activemq.data}/kahadb"/&gt;&lt;/persistenceAdapte
2018-03-08 10:01:04 473
转载 JVM 参数及含义(适用于 JDK7及之前)
JVM参数的含义 参数名称 含义 默认值 说明 -Xms 初始堆大小 物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增
2018-03-08 09:55:41 2678 1
原创 JVM之类加载的过程(类加载子系统)
类从被加载到虚拟机内存中开始,到卸载出内存,它的生命周期包括 `加载(Loading)`、`验证(Verification)`、`准备(Preparation)`、`解析(Resolution)`、`初始化(Initialization)`、`使用(Using)`和 `卸载(Unloading)` 7个阶段。其中, 验证、准备、解析 3部分称为 `连接(Linking)` 。
2018-03-08 09:44:35 862 3
原创 Spring Boot拦截器
1、自定义拦截器 ,实现HandlerInterceptor 接口。自定义拦截器1:import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerInterceptor;...
2018-03-08 09:41:48 417
原创 国内一些比较大型的IT软件外包公司名单
这种形式经常需要开发团队各个地方各种公司到处跑,等项目完成后将开发成果交付给项目的开发团队,便可回到所在的公司继续开展项目。**在开发期间把员工不当ren,开发完毕后,没有接到下家项目的,要么被逼走,要么只发当地的最低工资。通俗点来说,就是在工作上你是属于甲方的,但是在薪酬福利方面还是属于外包公司的。找工作的同学都要看看,根据自身的情况,学历低的 、没有经验的,可以先到外包公司试试,或者不想进去的也要了解一下, 避免找工作时被坑了。根据网上的资料,整理出来的一份国内软件外包公司的名单。
2018-03-08 09:39:15 220180 29
转载 java的3种动态代理 —— jdk、 javassist、cglib动态代理
jdk自带动态代理实现javassist实现动态代理cglib实现动态代理最近想总结一下java的动态代理,动态代理有很多种实现方案,下面介绍三种最常用的动态代理方案:1.jdk 自带动态代理2.javassist 实现动态代理3.cglib 实现动态代理接口和实现类代码:package com.java.day1.dynamicproxy.one;...
2018-03-08 09:32:57 2302
转载 java并发之TimeUnit,代替 TimeUnit.sleep()
java并发之TimeUnit,代替 TimeUnit.sleep() TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep().在很长一段时间里Thread的sleep()方法作为暂停线程的标准方式。Thread.sleep() 可读性差Thread.sleep()方法...
2018-03-08 09:32:11 8866
转载 mybatis 乐观锁实现,解决并发问题
比如A、B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户扣除50元,A先提交,B后提交。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个 “version” 字段来实现。读取出数据时,将此版本号一同读出,之后更新时,对此版本号加一。此时,将提交数据的版本数据与数据库表对应记录的当前版本信息进行比对,如果提交的数据版本号大于数据库表当前版本号,则予以更新,否则认为是过期数据。假设操作员A先更新完,操作员B后更新。
2018-03-04 20:31:03 12539 6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人