- 博客(15)
- 资源 (17)
- 收藏
- 关注
原创 Atomic包实现原理
Atomic简介Atomic包是java.util.concurrent下的另一个专门为线程安全设计的Java包,包含多个原子操作类。这个包里面提供了一组原子变量类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择一个
2015-07-31 15:52:35 3216
原创 ThreadLocal原理详解
ThreadLocal是什么 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影
2015-07-31 14:26:42 1190
原创 Redis教程5--Redis排序
redis支持对list,set和sorted set元素的排序。排序命令是sort 完整的命令格式如下:SORT key [BY pattern] [LIMIT start count] [GET pattern] [ASC|DESC] [ALPHA] [STORE dstkey]1.SORT key: sort key这个是最简单的情况,
2015-07-31 13:49:13 1257
原创 Redis教程6--Redis事务
redis对事务的支持目前还比较简单。redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。 由于redis是单线程来处理所有client的请求的所以做到这点是很容易的。一般情况下redis在接受到一个client发来的命令后会立即处理并 返回处理结果,但是当一个client在一个连接中发出multi命令有,这个连接会进入一个事务上下文,该连接后
2015-07-31 13:49:01 1176
原创 Redis教程4--Redis数据存储优化机制
1.zipmap优化hash:前面谈到将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。省内存的原因是新建一个hash对象时开始是用zipmap来存储的。这个zipmap其实并不是hash table,但是zipmap相比正常的hash实现可以节省不少hash本身需要的一些元数据存储开销。尽管zipmap的添加,删除,查找都是O(n),但是由于一般对象的field数
2015-07-28 17:04:17 1243
原创 Redis教程3--Redis键值设计
tag在互联网应用里尤其多见,首先看下面的关系型数据表:Book表: idnameauthor1The Ruby Programming LanguageMark Pilgrim2Ruby on railDavid Flanagan3
2015-07-28 16:02:52 1198
原创 Redis教程2--Redis数据类型及相关命令
Redis支持的种数据类型包括string、list 、set 、sorted set 和hash。Redis相关的命令可以查看:http://redis.io/commands 这是官方的命令使用手册,也有中文翻译的:http://redis.readthedocs.org/en/2.4/index.html1. keys: redis本质上一个key-value store,所以
2015-07-28 16:01:02 1209
原创 Redis教程1--入门篇
一、Redis简介:Redis(http://redis.io)是一款开源的、高性能的键-值存储(key-value store),它是用ANSI C来编写。Redis的项目名是Remote Dictionary Server的缩写,但它常被称作是一款数据结构服务器(data structureserver)。Redis的键值可以包括字符串(strings)、哈希(hashes)、列表(lis
2015-07-28 15:59:52 1544
原创 Netty入门教程
Netty是什么? 本质:JBoss做的一个Jar包 目的:快速开发高性能、高可靠性的网络服务器和客户端程序 优点:提供异步的、事件驱动的网络应用程序框架和工具 通俗的说:一个好使的处理Socket的东东 如果没有Netty? 远古:java.net + java.io 近代:java.nio 其他:Mina,Grizzly
2015-07-28 11:18:04 10838 1
原创 深入解析Java中的装箱和拆箱
自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。 以下是本文的目录大纲: 一.什么是装箱?什么是拆箱? 二.装箱和拆箱是如何实现的 三.面试中相关的问题 若有不正之处,请谅解和批评指正,不胜感激。一.什么是装箱?什么是拆箱?
2015-07-23 12:51:33 847
原创 spring mvc ajax中文乱码的几种解决办法
使用spingmvc,在JS里面通过ajax发送请求,并返回json格式的数据,从数据库拿出来是正确的中文格式,展示在页面上就是错误的 ,研究了一下,有几种解决办法。 方法一: 在@RequestMapping里面加入produces = "text/html;charset=UTF-8"Java代码 @RequestMapping(value = "
2015-07-20 18:32:46 906
原创 JavaWeb的各种中文乱码解决方法
一、Servlet输出乱码1. 用servlet.getOutStream字节流输出中文,假设要输出的是String str ="钓鱼岛是中国的,无耻才是日本的"。1.1 若是本地服务器与本地客户端这种就不用说了,直接可以out.write(str.getBytes())可以输出没有问题。因为服务器中用str.getBytes()是采用默认本地的编码,比如GBK。而浏览器也解析时也用本地默
2015-07-16 15:52:19 842
原创 java 重定向和转发的区别
重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产
2015-07-16 15:35:33 1459
原创 JSTL标签库基础教程
前言 =========================================================================JSTL标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以写出来。这算是Java程序员的基本功吧,一定要扎实。 JSTL全名为JavaServer Pa
2015-07-15 11:48:12 1311
原创 spring中@param和mybatis中@param使用区别
spring中@param /** * 查询指定用户和企业关联有没有配置角色 * @param businessId memberId * @return */ int selectRoleCount(@Param("businessId") Integer businessId,@Param("memberId") Long
2015-07-14 17:33:12 1647
城市码表下载 中国二级城市码表下载
2019-12-19
redis desktop manager(redis桌面管理器)下载(0.8.3)
2016-01-11
实验6 容器
2013-12-17
java实验1 代码
2013-12-17
java画图板
2013-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人