自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring中redistemplate不能用通配符keys查出相应Key的问题

有个业务中需要删除某个前缀的所有redis缓存,于是用RedisTemplate的keys方法先查出所有合适的key,再遍历删除。但是在keys(patten+"*")时每次取出的都为空。解决问题:spring中redis配置中,引入StringRedisTemplate而不是RedisTemplate,StringRedisTemplate本身继承自RedisTemplate,

2017-01-20 14:35:41 10505 2

原创 websocket的状态

websocket的两个属性:readyState和bufferedAmount。根据readyState属性可以判断webSocket的连接状态,该属性的值可以是下面几种:0 :对应常量CONNECTING (numeric value 0), 正在建立连接连接,还没有完成。The connection has not yet been established

2016-11-02 09:22:27 22553

转载 JVM参数调优总结

堆大小设置JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在WindowsServer 2003 系统,3.5G物理内存,JDK

2016-10-19 14:58:03 956

转载 ThreadPoolExecutor机制及各参数讲…

本文系转载,原文地址:http://825635381.iteye.com/blog/2184680ThreadPoolExecutor机制 一、概述 1、ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务; 2、Executors方法提供的线程服务,都是通过参

2016-10-19 14:57:57 3324 1

原创 双检的单例模式

public classSingleton {    privatevolatile static Singleton singleton;    privateSingleton (){}    publicstatic Singleton getSingleton() {if (singleton== null) {  synchronized (Singleton.cl

2016-10-19 14:57:54 394

原创 java链表实现队列

链表实现队列,好处是可以动态增长。上代码:1)、实现队列的一个节点:private class Node {public T data; //节点的值public Node next; //指向下一个节点public Node(T data, Node next) {this.data = data;this.next = next;}}2)、队列构造器:publ

2016-10-19 14:57:51 369

转载 classLoader类加载机制

本文系转载,原文地址:http://shulianghan.iteye.com/blog/1699341ClassLoader主要作用 :将.class后缀的字节码文件从硬盘上装载到内存中 ;1.类加载器深入剖析Java虚拟机与程序的生命周期 :     当我们执行一个java程序的时候 , 会启动一个JVM进程 , 当程序执行完之后 , JVM进程就消亡了; 在如下情

2016-10-19 14:57:48 238

转载 java二叉树的遍历算法

原文地址:java二叉树的遍历算法作者:听雨泽今天练习用java实现二叉树的遍历算法,首先我先编写二叉树类BinaryTree,代码如下:package package2;public class BinaryTree {  intdata;      //根节点数据 BinaryTreeleft;    //左子树 BinaryTreeright;   //右子树  p

2016-10-19 14:57:42 327

原创 java中volatile关键字的含义

本文系转载,原文地址:http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html以下为原文:========================================================在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并

2016-10-19 14:57:33 193

原创 java计算股票一段时间内最大收益

题目:假设知道某段连续时间内股票价格,计算通过买入卖出可获得的最大收益。翻译成程序员能听懂的语言:有一个整型数组int[]price,计算后面减前面的最大差值。假设大家都听懂了下面动起来吧第一眼看见题目,大家(其实是我自己)可能会想先计算出每个差价,然后对比得出最大值。上代码这个方法可以实现,但是时间复杂度是O(n^2)。那么有没有更有效率的方法实现呢(肯定是有的,要

2016-10-19 14:57:31 5824 1

原创 关于数据库事务隔离级别

学习数据库事务隔离级别时,在网上看到一篇写的比较形象,在原文评论区看到有人说分不清什么情况为幻读,以下是本人一些看法补充:在“读提交”级别上,产生两次读取结果不一样,是因为在读取剩余金额这条数据(对单条具体存在的数据操作)时有其他写事务进来,导致再次读取异常,即不可重复读;而在“重复读”级别上,初次读取的是已存在的多条数据的汇总(对多条已存在的数据操作),虽然其他的写事务不会进入这几条数据,

2016-10-19 14:57:28 258

原创 冒泡排序

原理就是:每趟排序把最大的沉到最后面,持续循环n遍,复杂度O(n²) 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。上代

2016-10-19 14:57:26 187

原创 ConcurrentHashMap的优点以及实现…

相信每个JAVA程序员都了解HashMap,最大的问题是线程不安全,因为方法中不涉及到同步,也正因为如此,HashMap的效率非常高,在不涉及线程安全的程序中广泛被应用。然而当涉及到多线程作业时,就会出现一些问题。为了解决这些问题JAVA提供了Hashtable,这是一种整体加锁的数据结构,然而效率不敢恭维。这时候就有了ConcurrentHashMap。一个例子说明三者关系:前提:某个卫

2016-10-19 14:57:23 5022

原创 多线程----实现生产者消费者交替运…

本文模拟生产者和消费者的行为,生产者负责当资源池空的时候往里放东西,消费者在资源池非空状态下持续消费。一、首先定义一个资源类,包含生产和消费的方法:Resource.java:public class Resource {private String someThing = "";private boolean hasResource = false;public synchr

2016-10-19 14:57:19 426

原创 一个简单的socket DEMO

socket是一种比较流行的网络编程方式,由于工作中用到了局域网通信,简单了解了一下socket通信的实现过程。既然是通信,则至少存在两个进程,而且必须包括一个建立服务的进程,即建立socket服务端;这个服务端规定了服务的端口,以供所有的客户端连接。可以把socket比作听一场讲座:场地工作人员相当于服务端,观众相当于客户端,场地工作人员规定观众只能从东南口进入(服务端规定所有的socket

2016-10-19 14:57:06 261

原创 JVM内存管理

概述   本文主要介绍JVM的内存管理,包括内存空间,内存的分配与回收等。一 . 内存空间SunJDK在实现时遵照JVM规范,将内存空间划分为PC寄存器、JVM方法栈、方法区、堆、本地方法栈。如下图:                                                       图1. JVM内存结构1.方

2016-10-19 14:56:41 345

原创 JavaBean,Entity Bean,Enterp…

一、对于javabean,就是一个java模型组件,他为使用java类提供了一种标准的格式,在用户程序和可视化管理工具中可以自动获得这种具有标准格式的类的信息,并能够创建和管理这些类。 java bean可以使应用程序更加面向对象,可以把数据封装起来,把应用的业务逻辑和显示逻辑分离开,降低了开发的复杂程度和维护成本!JavaBean是一种JAVA语言写成的可重用组件。为写成JavaBea

2016-10-19 14:56:38 371

原创 logstash实现分布式日志收集

1、logstash的目前的最新版本是2.0.0,建议安装在Linux平台,虽然它也支持Windows平台,但可能会有问题 下载: wgethttps://download.elastic.co/logstash/logstash/logstash-2.0.0.tar.gz 2、解压: tar -zxvf logstash-2.0.0.tar.gz3、进入l

2016-10-19 14:56:35 6469

原创 elasticsearch配合logstash,在浏…

上一篇Logstash实现了分布式日志的统一收集并写到一个.log的文件中,方便查询这篇要说一个更方便查询的工具elasticsearch,配合logstash实现浏览器监控日志1、下载elasticsearch 并解压wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.

2016-10-19 14:56:32 557

原创 ArrayList原理

add:(1)、先确保当前size+1空间没问题,有问题的话先扩容(2)、add(E e)将最新的数据放在末尾,add(index,e)在数组中插入数据(关于效率,相同长度的ArrayList和LinkedList,在前半部分插入数据LinkedList占优,在后半部分插入ArrayList占优,以为LinkedList的检索会占用较长时间)remove:删除中间一个后,后面的

2016-10-19 14:56:29 229

原创 总结:HashMap的写入和读取步骤分…

写入:put(K key, Vvalue): (1)、判断key是否为空:为空,把Value存入table[0]的位置;不为空,转向(2)(2)、把key值hash,得到此hash结果在map中的位置i(3)、查看当前map中位置i是否已经存在对象:存在,转向(4);不存在,转向(5)(4)、遍历这些已经存在的对象,看是否存在相同的key值:存在,用Value替换OldV

2016-10-19 14:56:26 2129

原创 一个简单的线程demo

package com.hiveview.test.api;public class FlashDeal implements Runnable {private int total = 10; //商品总数@Overridepublic void run() {synchronized (this) {for(int i = 1; i if(total >

2016-10-19 14:56:22 1900

原创 String与object的转换

1. //把java对象列表转换为json对象数组,并转为字符串JSONArrayarray = JSONArray.fromObject(userlist);Stringjsonstr = array.toString();2.//把java对象转换成json对象,并转化为字符串JSONObject object =JSONObject.fromObject(invite);Lo

2016-10-19 14:56:18 2724

转载 @RequestMapping 用法…

原文地址:用法详解之地址映射">@RequestMapping 用法详解之地址映射作者:LeoWei前段时间项目中用到了RESTful模式来开发程序,但是当用POST、PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/json,而且服务器端通过request.getReader()打出的数据里确实存在浏览器提交的数

2016-10-19 14:56:16 148

空空如也

空空如也

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

TA关注的人

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