- 博客(23)
- 资源 (3)
- 收藏
- 关注
原创 rediscluster环境搭建之二(spring+jedisCluster)
Spring中添加Cluster(核心,JedisClusterFactory创建RedisCluter对象,jedisClusterNodes为构造函数的重要参数) <bean id="jedisCluster" class="com.css.redis.factory.JedisClusterFactory"> <property name="connectionTimeo...
2018-06-28 09:17:35 280
原创 rediscluster环境搭建之一(安装server端)
redis2.0一般使用哨兵做集群(中小企业够用),3.0以后使用rediscluter模式(高可用,高并发),本地搭建了cluster模式,记录一下。server端搭建:linux 版本Centos6.5 1.下载redis-3.2.6cd /usr/local/src/wget http://download.redis.io/releases/redis-3.2.6.tar.gz2.编译ta...
2018-06-28 09:10:02 300
原创 如何理解Condition
多线程可以提高工作效率,则免不了线程之间互相通信。wait跟notify是老的方法,每个对象会有一个监视器,有一个就绪队列,一个阻塞队列。t1、t2、t3表示三个线程,当三个线程启动了,在线程run方法中,调用了wait,就会把运行的线程放到阻塞队列,t1t2t3当某个线程调用了notify方法,会在阻塞队列中,取出一个线程,继续执行,默认取t1
2017-12-28 10:19:31 285
原创 Java Join机制
主线程执行时间较短,子线程执行时间较长,则主线程执行完成了,子线程还在执行中。如果主线程要等子线程执行完成,就可以用Join方法。说明Join方法是一个阻塞性方法。可以结合源代码去理解:其中关键一段:while(isAlive){wait(0)}表示当前执行的线程,需要等待。也说明了join会释放当前线程的锁。ThreadA{ Public void
2017-12-26 11:34:31 649
原创 Java Condition 控制多线程有序工作
Condition的作用:相当与Notify跟Wait,Notify只能唤醒等待队列中的某一个线程,通常是先wait的线程。But Condition.Notify 可以唤醒指定等待的线程。 举个列子,定义condition1\condition2如果线程1 使用condition1.await,线程2用condition2.await,线程3使用condition1.notify只能
2017-12-25 10:07:28 387 4
原创 初探Mysql事务与锁
当前环境:mysql的隔离级别是可提交读,引擎类型是Innodb,支持事务以及行锁。可提交读避免脏读(可以读到未提交事务的数据),但是有重复读(在一个事务中,再次读到的数据发生了变化)的情况。共享锁及排他锁,简单来说,共享锁是可以读不可以写,排他锁是既不可以读也不可以写举例:student表 id int 主键name varchar(20)addres
2017-11-21 11:03:50 362
原创 Spring + jdbcJdbcTemplate 配置声明式事务
Spring配置声明式事务是个老话,但有必要搭建环境调试一下,加深影响与理解。1 准备所需要的jar包,Spring核心jar包+声明式事务依赖的jar+mysql_jdbcjar+日志jar2 建立一个java工程,把jar引进来。3 核心Spring.xml文件(配置了数据源-jdbc包装类-声明式事务(可以这样理解,pointcut切入点:那些包的那些类需要做事务管理 。
2017-11-14 11:08:58 780 1
原创 Eclipse部署tomcat项目不完整
使用Eclipse部署Tomcat项目后,发现项目缺少很多内容,关键排查的一点:项目-属性-Deployment Assembly ,在弹出的窗口中,检查list中是否包含完整。
2017-09-27 10:55:25 3162 2
原创 Java Join
Join 是Thread类的方法, 一般会 thread.Join来调用。如何理解:Join英文翻译为加入, thread.Join可以理解为thread这个线程类加入进来了,需要等待这个线程的run方法执行完成后,再干别的事。或者说要等待thread这个线程的结果。
2016-12-07 11:28:58 301
原创 Thread.CurrentThread.getName 与 this.getName()
public class CountOperate extends Thread {public CountOperate() {System.out.println("Thread.currentThread().getName():" + Thread.currentThread().getName()); //this代表当前Count
2016-11-15 10:45:13 869
原创 mysql主从复制原理及配置步骤
看过一本书,总要留下点痕迹搭建复制的环境,需要一台主服务器master,和一台从服务器slave,把主服务器上的数据备份到从服务器上,过程如下:1 配置一个服务器作为master 1.1 配置二进制日志 : 这个日志记录了数据的变化,通过这个日志,把主服务器的变化发给从服务器 配置服务器ID:唯一标识 修改my.con
2016-04-22 11:40:33 449
原创 曾读过但并不代表精通的书及资料
51CTO下载-JVM调优总结Java程序性能优化 让你的Java程序更快、更稳定Java程序员面试宝典(杨磊) PDF 扫描版高可用MySQL:构建健壮的数据中心啊哈!算法大话数据结构java就业面试题宝典Java经典编程300例大话数据结构剑指OF算法之美构建高性能WEB站点分布式JAVA应用 基础与实践Web整合开发王者归来征服AJA
2016-01-19 17:03:24 425
原创 win7 mysql 集群搭建,自测ok
最近搭了mysql集群,在搭建过程中遇到了一些问题,分享出来,希望同志们少走些弯路.其实步骤不难,只不过网上有些帖子错误引导,导致多走很多弯路,算了不喷了...总体介绍下步骤,1 找两台pc或使用vm虚拟,总之需要模拟集群环境2 下载mysql3 安装mysql,添加配置文件4 启动结点5 测试,注意表引擎阿1
2016-01-14 15:49:16 1218
原创 亚马逊一道智力面试题
亚马逊一道面试题,50个白球,50个黑球,两个箱子,如何放,获取白球的机率更大?这个还是比较容易,可以采用边界值的思维考虑,要么一个箱子中放50个白球,另外一个箱子放50个黑球,这样拿到白球的概率是:(1 + 0) / 2 = 50 %要么一个箱子放 1个白球 ,一个箱子放 49个白球 + 50个黑球 ,这样概率是 (1 + 49/99) / 2 = 75%
2016-01-05 15:29:55 1116
原创 虐心的oracle面试之旅
11月中旬接到了两个oracle的面试通知,具体什么岗位我就不透露了.感觉信心慢慢,毕竟已经有过oracle面试失败的经历.那次很惨痛,一道很简单的链表的面试题,我吭哧吭哧了很久,后来面试管几乎就要睡着了.面试不同于工作,这是两回事,大部分工作内容应该于面试无关,不过面试最能体现一个人的基础知识,或者能够了解你看得书多不多.所以我们不仅要学会工作的技能,还要为准备面试的知识跟技能.最好不要这样去面
2015-12-25 10:04:37 882
原创 mysql 慢查询分析 第一篇
mysql的性能调优之慢查询如何分析慢查询,大致分三步,1 开启慢查询日志 2 抓出慢查询sql语句 3 优化sql(索引有没有加之类)针对2.开侃:首先搞清楚各个字段的含义: 很关键的一步,直接影响分析慢查询select_type: simple 单表查询 primary 主查询,即外层查询union union中的第二个或后面的查询subquery 子
2015-12-10 10:40:36 361
原创 mysql 构建大表及myisam 基础知识
window下创建t1表create table t1(id int);create index id_index on t1(id);insert into t1 values(1);insert into t1 values(2);.....这样会生成三个文件,frm 表结构 myd 数据文件 myi 索引文件这是200多万条数据,索引差不多10m了,是个不
2015-12-09 11:33:50 495
原创 hibernate一对多
今天把ssh中hibernate一对多双向实现了下,贴出来分享下,有不足的,请兄弟们指正.最主要的两个model person(1端) score(多端),一个人可能有多个分数.package com.fk.model;import java.util.HashSet;import java.util.Set;public class Person { p
2015-11-30 12:52:40 341
原创 汉诺塔算法-换一种方式去理解
汉诺塔,开始我也不知道这是干啥的,baidu了一下,古老传说之类,纯属没用的hbb.其实简单直接的理解,不如看输出结果:(A,B,C三根柱子,A上有3个盘子,从小到大,1,2,3,从A移到C,结果还是从小到大,123,一步只能移动一个盘子,且总是小的在上面,这是规则)结果:从A移动盘子1号到C从A移动盘子2号到B从C移动盘子1号到B*********************
2015-11-26 11:15:15 451
原创 Struts2+Spring+hibernate 小demo
搭个架子,说实话,没啥大用,拷贝点jar包,改改配置文件,建立几个类,就完事了,能学到啥呢?设计模式,算法,多线程,经验,层次要高点,闲话不多说了,开配:1 准备jar包,还挺多的,下一篇直接贴源码。2 三个重要配置文件 web.xml applicationContext.xml struts.xml xmlns:xsi="http://w
2015-11-19 15:29:11 564 1
原创 synchronized的优缺点。
使用synchronized,当多个线程尝试获取锁时,未获取到锁的线程会不断的尝试获取锁,而不会发生中断,这样会造成性能消耗。而ReentranLock的lockInterruptibly()可以优先相应中断。举例:两个线程A,B,A获得了锁(A.lockInterruptibly()),B在请求锁的时候发生阻塞,如果调用B.interrupt(),会中断B的阻塞。
2015-11-18 10:52:56 6148 1
原创 启动mysql服务,提示1067
win7系统启动绿色版mysql,报错1067,无法启动,从网上找了一堆解决办法,后来通过window日志提示的报错信息,搞定。解决方法:如果服务起不来,还是要看日志的,乱搞不行提示下乱码的思路,有位仁兄总是的还是很棒的:1、mysql配置文件设置错误 A、首先查找mysql对应的配置文件my.ini 如果服务是使用指定的配置文件
2015-11-10 11:22:07 640
原创 window与linux hdfs通讯环境搭建
window为大家所熟悉常用的环境,今天我们来搭建window+linux(hdfs)环境。该环境至少分两步:1 windows下的开发2 linux下hadoop的安装 ,先讲2吧。我系统上搭建的是hadoop伪分布式,后续模拟出集群环境来,在分享出来。我使用的hadoop版本是 1.0.1,baidu下一堆一堆的。使用的vm7,这个支
2014-12-26 11:00:11 773
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人