自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (6)
  • 收藏
  • 关注

原创 LinkedHashMap 原理及用于缓存数据时LRU算法

基于 LinkedHashMap特性,可以实现出热点缓存的处理,保证固定数量缓存,LRU 最近最少使用算法。原因是当 LinkedHashMap 设置了accessOrder=true 时 调用put 和get时都会把当前数据放到末尾处。这样可以方便的实现旧数据的剔除。重写LinkedHashMap中的removeEldestEntry方法具体可参考上述博客 转自:https://blog.csd...

2018-04-10 14:18:44 259

原创 mysql插入时使用 INSERT ... ON DUPLICATE KEY UPDATE

项目中用到ON DUPLICATE KEY UPDATE  ,这样存在重复数据时可以执行更新语句具体用法不细说  主要有一点要注意 之前以为更新时会返回2,实际发现不一定的  执行update时 若更新的字段值没变,此时是不返回2的 。具体官方文档也给出描述了  重点红圈标出...

2018-04-04 16:44:23 300

原创 spring mybatis batch操作时关闭sqlsession

在利用mybatis 的sqlsession,批处理方式打开session,例如public void batchdelete(Collection dataList, final SingleProcessor processor) { final SqlSession session = getGenericSqlSessionFactory().openSession(

2017-10-23 20:17:32 2342

原创 java 并发知识点收集

1.java 并发包 http://www.importnew.com/26461.html

2017-09-13 20:38:24 291

原创 spring cloud 学习笔记1-依赖包介绍

首先介绍下各个常用包依赖 后续补充:spring-cloud-starter-parent 具备spring-boot-starter-parent同样功能并附加Spring Cloud的依赖 spring-cloud-starter-config 默认的配置服务依赖,快速自动引入服务的方式,端口8888 spring-cloud-config-server/client 用户自定义配

2017-03-31 17:06:11 2478

原创 java 垃圾回收

本文基于Oracle hotspot jvm1.GC:查找不再使用的对象,以及释放这些对象所管理的内存2.算法:分代收集Young:主要是用来存放新生的对象。Old:主要存放应用程序中生命周期长的内存对象。Permanent:是指内存的永久保存区域,主要存放Class和Meta的信息,Class在被 Load的时候被放入PermGen

2017-01-12 10:55:25 381

原创 spring 事务传播

在service中有两个方法 A和 B,A没有配置事务,B配事务,若在A中调用B方法时,事务将不起作用,原因是因为spring的事务是基于AOP的方式,是代理类加的增强,Proxy.B,若在内部调用时则仅是直接调用B,事务将失效。解决方法:1 将B移到另一个类中                 2 A调用B时不直接调用B,而是调用AOP代理类 的B方法

2016-11-02 15:07:06 316

转载 AbstractQueuedSynchronizer 中的condition原理

转自:http://www.importnew.com/9281.html在java.util.concurrent包中,有两个很特殊的工具类,Condition和ReentrantLock,使用过的人都知道,ReentrantLock(重入锁)是jdk的concurrent包提供的一种独占锁的实现。它继承自Dong Lea的 AbstractQueuedSynchronizer(同步

2016-06-15 14:34:17 438

原创 随笔面试题

1.联合索引 比如创建联合索引e1,e3触发联合索引是有条件的:1、使用联合索引的全部索引键,可触发索引的使用。例如:SELECT E.* FROM E WHERE E.e1=1 AND E.e3=22、使用联合索引的前缀部分索引键,如“key_part_1 常量”,可触发索引的使用。例如:SELECT E.* FROM E WHERE E.e1=13、使用部分

2016-03-29 19:42:38 402

转载 Fork/Join框架

转自并发编程网:http://ifeve.com/talk-concurrency-forkjoin/1. 什么是Fork/Join框架Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任

2016-03-11 16:38:29 419

转载 ReentrantLock(重入锁)以及公平性

转自 并发编程网ReentrantLock(重入锁)以及公平性

2016-03-10 20:07:10 644

原创 spring 获得ApplicationContext

在spring mvc项目中,可以通过实现ApplicationContextAware来获得ApplicationContext,public class ContextHolder implements ApplicationContextAware {private static ApplicationContext context;}实现接口中方法

2016-03-08 19:56:36 403

转载 java semaphore 信号量,流控程序

信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。 Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。import java.util.Date;import java.util.concurrent.ExecutorS

2016-02-02 11:10:35 947

原创 fastjson 版本性能

项目中用到fastjson,在将json串转换成Javabean的时候版本差异对性能影响较大。当json串大小比较小时差异不明显,但是项目中发现当json达到1M以上时1.1.15的版本性能很差,需要几十秒。而最新的版本1.2.7仅需要100ms左右。List boss3DatePriceMQBeans =JSON.parseArray(json, Boss3DatePrice

2016-01-05 18:53:00 3278

原创 mybatis intercept

了解了下mybatis的拦截器:package com.tuniu.pcs.core.intercept;import org.apache.ibatis.executor.Executor;import org.apache.ibatis.mapping.MappedStatement;import org.apache.ibatis.plugin.Interceptor;

2015-12-28 17:23:46 1062

原创 elasticsearch java client

elasticsearch java api 提供两个客户端类Node Client ,TransportClientNode node = nodeBuilder().clusterName("yourclustername").node();Client client = node.client();Node Client:1.本身也是集群节点之

2015-12-21 10:48:36 905

原创 elasticsearch java query API

下面介绍下几个常用的查询Api首先:TermQueryBuilder这个用于正常的检索,但是对于String (分析的)字段不能,例如name:joy may; 如果该字段是analyzed ,则需要使用另外一个MatchQueryBuilder("filedName",value)查询条件里嵌套的对象字段NestedQueryBuilder("path",Quer

2015-12-02 17:14:36 1830

转载 java volatile

Java并发编程:volatile关键字解析   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java

2015-12-01 13:37:59 445

原创 spring data elastic search初识

首先pom文件里依赖: org.springframework.data spring-data-elasticsearch 1.1.3.RELEASE 配置elastic 定义的文档结构:@Document(indexName = "product-index",type = "PRODU

2015-11-30 14:18:45 5441 1

原创 active mq 生产

destinationid="queueName" class="org.apache.activemq.command.ActiveMQQueue"> index="0" value="@{queue.name}" />Spring jms templateid="amqConnectionFactory" class="org.apache.activemq

2015-11-25 16:12:41 505

原创 active mq 消费

首先配置MQ connection id="amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> name="brokerURL" value="failover://@{amq.address}?randomize=false&jms.useAsyn

2015-11-23 14:39:07 442

原创 mongodb java

获取client 默认连接本地MongoClient mongoClient = new MongoClient();查看源码:this(defaultHost(), defaultPort());获取DBMongoDatabase db = mongoClient.getDatabase("pcs");连接collection 操作插入db.g

2015-11-04 23:40:55 306

原创 mongodb 性能测试

由于项目中考虑使用mongodb,遂作了一些调研机器配置:使用Java API 单线程循环操作:数据结构是json结构:{ "firstLevel": "hello world", "secondLevel": [ { "test1": }, { "test1": } ]}单条数据

2015-11-04 22:33:37 474

转载 Node.js学习笔记之三:事件_EventEmitter

events 模块只提供了一个对象: events.EventEmitter。EventEmitter 的核心就是事件触发与事件监听器功能的封装。  可以通过require("events");来访问该模块。var EventEmitter=require('events').EventEmitter;var event=new EventEmitter();event.on('eve

2015-11-04 22:18:26 815

转载 Node.js学习笔记之三:事件

Node.js 事件循环Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,

2015-11-02 15:56:27 593

原创 Mongodb 学习一

基本数据库操作1.show  dbs 查看数据库2.show collections 查看集合3.use dbName 切换到指定的库数据结构:{ "id":1, "name":"eddy", "age":26, "address":      {      "street":"road21",      "province":"江苏" 

2015-10-24 14:35:39 354

原创 Node.js学习笔记之二:回调

回调是一个异步等效的功能。在完成特定任务回调函数被调用。 Node大量使用了回调。Node的所有的API都支持回调这样的一种方式。//阻塞代码创建一个txt文件。input.txt Hello This is  learning node js input.Just so so !!!!创建js文件代码如下var fs=require("fs");var data=f

2015-10-20 13:41:45 285

原创 Node.js学习笔记之一:入门

关于Node.js这里不再赘述,直接开始学习第一步下载安装node.js  此处安装window版本可以在命令行里查看版本>node -v编写第一个hello world编写js文件helloworld.js,代码如下: var http = require('http');http.createServer(function (req, res) {r

2015-10-16 13:20:42 377

原创 HashSet

HashSet源码:public class HashSetE> extends AbstractSetE> implements SetE>, Cloneable, java.io.Serializable{ static final long serialVersionUID = -5024744406713321676L; private tran

2015-10-14 13:09:06 320

原创 HashMap

HashMap的存储结构是这样:数组加链表的结构:查看hashmap源码可以看到(jdk1.8) 采用数组+链表+红黑树的结构首先有一个每个元素都是链表(可能表述不准确)的数组,当添加一个元素(key-value)时,就首先计算元素key的hash值,以此确定插入数组中的位置,但是可能存在同一hash值的元素已经被放在数组同一位置了,这时就添加到同一hash值的元素的后

2015-10-14 11:22:34 351

原创 JMS Topic 和queue 的区别

Topic和Queue的区别

2015-09-22 13:03:33 350

原创 Thread 和 Runable 区别

首先 Thread是类,Runable是接口。一是写一个类继承自Thread类,然后重写里面的run方法,用start方法启动线程二是写一个类实现Runnable接口,实现里面的run方法,用new Thread(Runnable target).start()方法来启动查看源码可以发现 Thread也是实现的Runablepublicclass Thread imple

2015-09-14 16:38:42 1524

转载 hadoop 数据倾斜

数据倾斜是数据中的常见情况。数据中不可避免地会出现离群值(outlier),并导致数据倾斜。这些离群值会显著地拖慢MapReduce的执行。常见的数据倾斜有以下几类:数据频率倾斜——某一个区域的数据量要远远大于其他区域。数据大小倾斜——部分记录的大小远远大于平均值。在map端和reduce端都有可能发生数据倾斜。在map端的数据倾斜会让多样化的数据集的处理效率更低。在reduce端

2015-09-14 13:56:10 1714

转载 jvm 学习

面试中被问道JVM,结果没能很好的回答清楚,这里再学习一遍,补充下。下面是找到的一篇博客,讲述的比较详细:一、java虚拟机的生命周期:  Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开

2015-09-09 15:56:49 1255 1

原创 spring boot 入门

首先第一步创建一个maven工程springboot11.在pom文件里添加下面配置,依赖。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

2015-09-09 10:29:07 383

原创 Callable 和Future 接口使用

使用Callable和Future的组合,异步获取数据,Callable负责执行,Future获取执行结果1:Callable和Future ExecutorService executor = Executors.newCachedThreadPool();Future future=executor.submit(new Callable(){ @Override

2015-09-08 17:58:53 392

原创 mapreduce的二次排序 SecondarySort

在看Hadoop The definitive guide 时,关于二次排序,在设置好setGroupingComparatorClass 后一直不明白为什么reduce的入参就是要查询的年最高温度,代码里没有看到是怎么实现的:代码:// cc MaxTemperatureUsingSecondarySort Application to find the maxi

2015-09-08 15:27:50 458

转载 java Pattern和Matcher详解

看到了Pattern和Matcher的代码,找了篇博客学习一下结论:Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 单独用Pattern只能使用Pattern.matcher(String regex,CharSequence input)一种最基础最简单的匹配。java正则表达式通过java.ut

2015-09-06 17:16:43 316

原创 spring mvc HandlerMethodReturnValueHandler

今天项目遇到一个问题:在controller里重定向,正常使用 return "redirect:/url".结果怎么都不可以,后来发现RequestMappingHandlerAdapter里的HandlerMethodReturnValueHandlerComposite 对象里的List returnValueHandlers  被通过配置封装去掉了ViewNameMethodReturnV

2015-05-16 15:05:58 1774

原创 Eclipse TestNG

1.安装TestNG 插件  在Eclipse Marketplace里安装插件,目前最新插件是6.9版本,要求的JDK是1.7,,否则会不能执行。这里指定JDK,2.编写测试代码:  此项目基于Spring 的maven工程: @ContextConfiguration(locations = { "classpath*:config/spring/sprin

2015-05-12 16:19:07 552

spring data elasticsearch

spring data elasticsearch

2015-11-23

mongodb_java

java 操作 mongodb 测试

2015-11-02

IDEA setting文件

idea setting 文件 直接导入使用就可以了

2015-09-01

araxis merge

一直用的这个工具,很好用, 自己可官网下载2013版,然后将该压缩包里的merge.exe 替换到安装路径下就好了。亲测可用

2015-06-08

360安装文件

软件安装文件

2013-10-24

高校科研管理系统课程设计

课程设计 简单的教务管理系统 实现登录输入输出 查询 导出到EXCEL报表 VB

2011-05-23

空空如也

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

TA关注的人

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