• 基于Spring 的 Redis Sentinel 读写分离 Slave 连接池

    0. 背景  Reids除了配置集群实现高可用之外,对于单机版的Redis,可以通过Master-Slave架构,配合使用Sentinel机制实现高可用架构, 同时客户端可以实现自动失效转移。  类似于JdbcTemplate,Spring中使用RedisTemplate来操作Redis。Spring Boot中只需引入如下Maven依赖,即可自动配置 一个RedisTemplate实例。 ...

    阅读全文
    作者:边城网事 | 分类:Spring Boot, 缓存 | 阅读:0
  • Java 并发编程模式之 Master – Worker模式

    1. 角色  1) Master  Master中维护一个job Queue,是任务的描述,这个jobQueue会给每一个Worker共享,因此需要是线程安全的 Master中同时维护一个resultMap用于保存每一个job的处理结果。  2) Worker  Worker是一个runnable, 在其执行run方法之前需要显示的调用setJobQueue和setResultMap方法 将Master中的jobQueue和r ...

    阅读全文
    作者:边城网事 | 分类:Java多线程 | 阅读:1
  • Java中String的instern方法和jvm常量池若干问题分析

    1 在oracle的Hotspot虚拟机中,以下代码,如果把  str1.intern(); String str2 = “11”; 这两行代码交换位置,那么在JDK1.7及以后的JVM版本中,执行的结果是不同的。 原因分析,见代码注释。  Java package test.oom; public class TestIntern2 { public static void m ...

    阅读全文
    作者:边城网事 | 分类:Java Core | 阅读:1
  • Spring AOP之AspectJ

    1. Spring AOP实现方式 — 动态代理  Spring AOP 可以有两种风格的 aop配置, a) 方式1: <aop:config proxy-target-class=”true”>     <!– other beans defined here… –> </aop:config> 使用这种方式配置,xml中使用<aop:before>等手工配置比较繁琐  b) ...

    阅读全文
    作者:边城网事 | 分类:分布式架构, 程序代码 | 阅读:1
  • zookeeper集群配置及搭建

    Shell 1. mkdir -p /opt/my_work/my_tools/zookeeper 2. cd /opt/my_work/my_tools/zookeeper tar zxf zookeeper-3.4.10.tar.gz ln -s zookeeper-3.4.10 current 3. mkdir -p /opt/my_work/my_tools/zookeeper/zk_data a. server_1 [192.168.0.1] echo 1 > / ...

    阅读全文
    作者:边城网事 | 分类:分布式架构 | 阅读:0
  • 基于Java-Tomcat 实现HTTPS双向验证

    1.使用JDK自带的keytool生成各种证书 使用key_tool_test.bat,利用JDK自带的keytool文件生成各种证书,包括CA证书,使用CA签发的server证书,client证书。 在windows环境下跑key_tool_test.bat之前,需要保证当前系统环境变量PATH中能找到JDK自带的keytool工具  MS DOS @echo off ech ...

    阅读全文
    作者:边城网事 | 分类:分布式架构 | 阅读:1
  • Spring Boot 中 Logback 实战

    一直以来参与的项目都是老项目,由于历史原因,项目中一直在使用log4j纪录日至。 技术的更新日新月异,新技术层出不穷,都是奔着性能越来越强大,用法越来越简单,功能越来越丰富来的。 新项目中推荐使用新技术,于是寻找新技术时发现,在Java世界中,日至纪录这一小小领域的哪些框架实现jar包,多的足以让人眼花缭乱。 ...

    阅读全文
    作者:边城网事 | 分类:程序代码, 随记 | 阅读:2
  • Java项目中Timer应用问题分析一例

    1.背景  项目中使用Timer来设置一个定时任务,在每天凌晨2点生成一个报告。项目是使用tomcat的一个Web程序。 web程序在tomcat启动时在初始化 servlet时 设置Timer的schedule。  2.问题现象  Timer关联的TimerTask最近有个改动,需要更新代码。代码更新以后,部署web程序,重启tomcat后发现 似乎有两个Timer再跑:修改前 ...

    阅读全文
    作者:边城网事 | 分类:Java Core | 阅读:0