自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

键圣的博客

非专业不靠谱的程序员

  • 博客(97)
  • 资源 (6)
  • 收藏
  • 关注

原创 Canal的元数据变化解决办法

找到Canal该instance的配置 删除h2.mv.db和meta.data。

2022-11-19 19:40:21 281 1

原创 Zookeeper源码分析之单机模式消息流动分析

这里写自定义目录标题单机模式:#mermaid-svg-eSeL6C0646Xt3L0l .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-eSeL6C0646Xt3L0l .label text{fill:#333}#mermaid-svg-eSeL6C0646Xt3L0l .node rect,#merma

2021-07-25 19:10:58 182

原创 zookeeper源码分析之ExpiryQueue

ExpiryQueue是zookeeper管理客户端连接超时的工具类。它是将松散的时间按expirationInterval间隔映射成一个一个具体的时间点。计算时间所属时间段的算法:private long roundToNextInterval(long time) { return (time / expirationInterval + 1) * expirationInterval; }time是超时时间返回的是规整后的超时时间,这一块其实在time是ex.

2021-07-25 18:49:28 183

原创 Log4J日志打印不到文件

我们在Log4J的使用中,偶尔会发生这样的场景:我们明明已经配置了log4j.properties文件 但是有时候就不按预期输出日志。归其原因,有两种:1.多种依赖jar包相互干扰。2.其他的配置文件被加载覆盖了你自己的配置。对于场景一:可以使用maven的dependency:tree查看依赖的jar包排除相关传递依赖就可以了对于场景二: 可以打开Log4j的调试模式,运行程序然后通过日志确定加载的配置文件System.setProperty("log4j.debug","tru

2020-12-09 10:34:25 3632

原创 IntelliJ IDEA 2020.1 Mac 打开闪退问题解决办法

问题描述: 双击idea图标 系统一闪而过 没有任何界面提示。解决方案:1. 打开Mac的应用程序 右键IntelliJ IDEA.app图标点击显示包含内容2. 依次进入Contents/MacOS目录3.双击idea4.查看控制台报错信息5. 发现之前配置的激活jar被删除导致的启动失败(掩面 尴尬)6.找到了问题的原因我们去修改这个配置7.进入你自己的id...

2020-04-22 16:46:49 16492 14

原创 MacOS 系统占用100+G清理优化

因为没钱买了乞丐版Mac 256G SSD用不了多久就需要清理文件系统,不然就会提示你系统空间不足。思路:找到占用空间的文件 然后删除掉工具:终端命令:sudo du -sh *第一步进入根目录cd / 然后执行sudo du -sh * 输入密码  然后看到 /private 占用71G然后进入private 继续执行命令sudo du -sh * 然后是/var占用70G多...

2018-10-29 11:39:27 59270 7

原创 使用jconsole监听远程Tomcat服务

 1. 获取远程服务器的地址和可用端口号我拿的是我自己的阿里云主机,服务器地址为39.107.68.142,端口号为8696查看端口号是否可用: netstat -tunlp|grep 8696我们可以看出上面的6969已经被使用,8696未被使用。查看进程启动的端口netstat -antup |grep 32594查看端口监听情况lsof -i:12342. 修改...

2018-09-10 09:29:02 1240

原创 JS:处理DOM元素id命名冲突问题

随着单页面应用的推广,有时候我们会发现明明我们绑定了一些东西但是结果并不像我们所想象的那样正常。今天我们来处理一个最基础的问题——DOM元素重名问题。<!DOCTYPE html><html><head> <title>111</title> <script src="http://cdn.static.runoob.com...

2018-05-21 11:49:31 1455 1

原创 关于PLSQL配置了正确的Oracle客户端但是不能识别tnsnames.ora问题

场景描述:     在通过安装Oracle客户端使用PLSQL的时候发现PLSQL在已经正常配置了Oracle Home和Ocdi library的情况下不能识别tnsnames.ora中的有效配置。正常安装Oracle客户端效果:PLSQL中关于Oracle Home和Ocdi library的配置:我的Oracle客户端安装位置在:C:\Users\dushan

2017-11-20 17:58:59 34334 2

原创 Maven 使用profile来构建不同的环境

目标: 同一份配置文件 在不同的环境中使用不同的配置数据工具: maven实现过程:1.创建一个maven的web工程2. pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2017-08-25 02:06:59 412

原创 桥梁模式

定义Decouple an abstraction from its implementation so taht the two can vary independently.(将抽象和实现解耦,使得两者可以独立地变化)通用类图     角色分析:Abstraction --抽象化角色它的主要职责是定义出该角色的行为,同时保存一个对实现化角色的引用,该

2017-06-13 16:02:34 639

原创 基于WebSocket的简易聊天室

web程序先看web.xml<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.c

2017-06-12 22:48:12 643

原创 适配器模式

定义Convert thr interface of a class into another interface clients expect. Adapter lets classes work together taht couldn't otherwise because of incompatible interfaces.(将一个类的接口变成客户端所期待的另一种接口,从而使

2017-06-12 11:22:52 572

原创 Java的比较接口 Comparable与Comparator

我们知道Comparable与Comparator接口都能使你的对象拥有你希望的顺序,那么为什么设计两个接口呢?我们看一下Comparable的使用场景:package com.dusk;/** * Created by dushangkui on 2017/6/9. */public class Student implements Comparable { priv

2017-06-09 17:18:31 387

原创 原型模式

定义Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype. (用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象)通用类图原型模式主要用于对象的复制,它的核心是就是类图中的原型类P

2017-06-07 17:11:29 362

原创 建造者模式

定义Separate thr construction of a complex objrct from its representation so that the sanem construction process can create different representations.(将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示)类图

2017-06-07 16:06:50 497

原创 ZooKeeper集群搭建 windows篇

ZooKeeper是一个分布式的,开源的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。单机版1.下载ZooKeeper,选择你需要的版本http://apache.fayea.com/zookeeper/我选择的是zookeeper-3.4...

2017-06-06 17:58:06 1907

原创 一个换行符引起的死亡场景

在开发生涯中我们许多时候会很亲赖于BufferedReader,特别是它的readLine()方法简直就是我们的福音。但是我们在做流传输的时候如果没有传输换行符或者流结束符会怎么样呢?看下面的场景:import java.io.*;/** * Created by dushangkui on 2017/6/2. */public class TestLine { publ

2017-06-02 16:28:35 395

原创 Socket编程(ServerScoket, Socket) 回声例子

你的bug越离奇,你的错误越低级!服务端:package dusk.echo.simple;import java.io.*;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.ExecutorServi

2017-06-02 15:04:53 420

原创 Tomcat源码解析之连接器解析请求

我们看一下Tomcat的总体架构图 其中最重要的组件就是Connector和Container,其中Connector负责监听客户端的请求并把他封装成容器统一的Request和Response对象。Tomcat的连接器大致分两种:HTTPHTTP连接器是Tomcat默认设置的并且可用的,该连接器具有最低的延迟和最佳的整体性能。对于集群来说,必须安装支持web粘性的会话的

2017-06-01 23:10:39 1040

原创 commons-beanutils的小例子

注意BeanUtils的属性赋值是通过setter方法,因此尽量使用小写字母开头的属性名字。public class Student{ private int flowID;//流水号 private int type;//四六级 private String iDCard;//身份证号 private String examCard;//准考证

2017-05-31 20:54:05 493

原创 模板方法模式

定义Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. template Method lets subclasses redefine certain steps of algorithm without changing the algorithm's struct

2017-05-24 00:04:07 613

原创 工厂模式&抽象工厂模式

工厂模式工厂模式总的来说就是使用工厂方法来代替new创建对象。主要用来封装对象创建过程的复杂性。可分为三类:1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory)简单工厂模式建立一个工厂(一个函数或一个类方法)来制造新的对象。/** * Created by du

2017-05-23 23:48:32 744

原创 git代码回滚

在我的代码生涯中,你会遇到许多次因为种种原因你的代码需要回滚,在git中你只需要三步:1. 查看你的提交日志git loggit log 展示所有的提交记录 git log -5 展示最近的5条提交记录2. 回滚到指定的版本git reset  --hard  版本号例如:git reset --hard d7c23947925664da8f79f176b8

2017-05-23 14:46:58 1483

原创 初识mina

MINA是一个简单但功能齐全的网络应用框架,它提供了一个统一的API来屏蔽底层各种网络协议的复杂性。Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。我们来看一下MINA的应用架构图:总体来说,MINA的应用划分为三个层次:I/O Service(I/O

2017-05-23 11:43:51 676

原创 单例模式

定义Ensure a class has only one instance, and provid a global point of access to it.(确保莫一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)实现方法     1.提供private构造函数     2.提供一个可以访问private的实例公共的方法实现方式第一种形式

2017-05-22 08:04:52 361

原创 类与类之间的关系

在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1. 依赖(Dependence)   依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类

2017-05-21 23:39:36 757

原创 软件设计六大原则

单一职责原则(SRP:Single responsibility principle):     There should never be more than one reason for a class to change. 也就是说一个类只负责一件事。好处:          1.类的复杂性降低,一个类负责什么事,一目了然。          2.类的可读性提高,复杂性降低,

2017-05-21 23:36:52 1157

原创 Mysql行转列

今天在论坛看到有人提了这样一个问题:第一个如何查询可以查询出第二个表的内容,没有对应关系的用0表示躁起来:创建表CREATE TABLE `test` ( `p_id` INT(11) DEFAULT NULL, `p_num` INT(11) DEFAULT NULL, `s_id` INT(11) DEFAULT NULL) E

2017-05-19 17:13:22 476

转载 JVM性能优化―― 编译器

转自: http://www.importnew.com/2009.html作为JVM性能优化系列文章的第2篇,本文将着重介绍Java编译器,此外还将对JIT编译器常用的一些优化措施进行讨论(参见“JVM性能优化,Part 1″中对JVM的介绍)。Eva Andreasson将对不同种类的编译器做介绍,并比较客户端、服务器端和层次编译产生的编译结果在性能上的区别,此外将对通用的JVM优化做

2017-05-18 17:28:21 573

原创 Tomcat的信息国际化之路

我们都知道Tomcat是一个很流行的轻量级应用容器,正因为他的流行,他有各种各样的说各种语言的用户群体,那么他是怎么解决信息国际化呢?先看一下JDK是怎么处理信息国际化:创建几个资源文件:msg.propertiesname=dusk对应的中文文件message_zh.propertiesname=dushangkui以及中国地区的中文文件message_zh_cn

2017-05-10 15:52:35 526

翻译 JMX官方指导文档 之 远程管理

原文地址: http://docs.oracle.com/javase/tutorial/jmx/remote/index.htmlLesson: Remote ManagementJMX API能够确保你使用基于JMX技术的连接器(JMX connectors)去执行对资源的远程管理。JMX连接器使基于Java的远程客户端连接服务器成为了可能。一个作为连接器的客户端基本解耦和MBean

2017-05-08 21:47:09 1808

翻译 三、JMX官方指导文档 之 通知

Lesson: NotificationsJMX API定义了一个机制去让MBeans生成通知,例如:状态变化的信号,检测事件或者问题。为了生成通知,MBean必须实现NotificationEmitter接口或者扩展NotificationBroadcasterSupport类。为了发送一个通知,你需要构造一个 javax.management.Notification或者它子类(Att

2017-05-07 15:41:09 382

转载 正确使用 Volatile 变量

Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。锁提供了两种主要特性:

2017-05-05 17:38:31 276

原创 微服务中的Bad Request

场景描述我们的系统是基于rest的微服务架构,各个子系统的调用都是通过HTTP请求来交互的,并且请求参数要经过base64编码。前端时间在做一个数据迁移需求的时候时候,发现总是有一些数据莫名其妙的丢失,当初是根据数据的自增id分段做的迁移,一次迁移一部分。迁移过程会去另一个系统调用一个服务确认这些数据是否都属于要迁移范围。迁移过程中发现数据丢失之后,我们查找日志发现有Bad Reque

2017-05-05 09:51:37 1242

原创 fasterxml如何对Java枚举类型做类型转换

首先我们有一个Student类:package com.dusk.json;/** * Created by dushangkui on 2017/5/3. */public class Student { private String name; private SexEnum sex; public Student(String name, SexE

2017-05-03 20:49:05 1120

翻译 二、JMX官方指导文档 之 介绍MBeans

Lesson: Introducing MBeans这节课介绍了JMX API的基本概念,即被管理的Bean或者MBeans。一个MBean是一个被管理的Java对象,和JavaBean组件相似遵循一系列之后定义的JMX规范。一个MBean可以描述一个设备、应用或者其他被管理的资源。MBeans假定    一个被管理的接口包含下面的部分:一些可读或者可写的属性,或者他们两者。一些可

2017-05-03 08:21:23 2678

翻译 一、JMX官方指导文档 之 JMX概述

JMX概述JMX(Java Management Exrensions)技术是标准Java平台的一部分。JMX技术从J2SE 5.0发布的时候添加到Java2平台。JMX提供了一个标准的方法去管理资源,例如:应用,设备和服务。因为JMX是一种动态技术,你可以在被管理资源创建、实例化和实现的时候监控和管理他们。你也可以使用JMX技术去监听和管理Java虚拟机。JMX规范为Java语言定义

2017-05-01 23:11:49 3181

转载 BIO与NIO、AIO的区别

转自: http://stevex.blog.51cto.com/4300375/1284437  IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况

2017-04-26 17:43:56 380

原创 Tomcat源码分析 之 Tomcat如何监测部署应用的改变并进行重新部署

使用eclipse和tomcat做web应用开发的童鞋都知道,有一个很强大的功能就是--我们的文件改变的时候Tomcat会自动的重新部署应用,给我们的开发调试带来了很大的便利,但是它是怎么实现的呢?我们下面来关注一下原理和Tomcat的处理办法。我们都知道,我们修改了文件,并且保存了它,这个文件的修改时间就会被改变,当然了我们的应用处理逻辑也可能发生了变化,这时候我们就应该重新发布一下应用,让

2017-04-26 16:14:21 712

个人整理的好用工具类

有自己开发的Mybatis分表插件 以及封装的拼音、AMQ等工具类

2017-03-22

空白SSM框架

空白SSM框架

2016-11-11

使用openlayers展示对象的移动轨迹

使用openlayers展示对象的移动轨迹

2016-05-19

Velocity_API.CHM

JAVA,J2EE,API,Reference,Docs,Documents,参考文档,手册

2014-11-13

设计模式之禅.pdf

最通俗易懂的语言,最神奇的设计,看了一半,真心不错,分享一下

2014-11-13

来自计算机时代的高见

黑客与画家:来自计算机时代的高见 [Hackers and painters] (让世人理解我们所处的这个计算机时代,揭示它的发展轨迹,帮助你看清我们现在的位置和将来的方向。硅谷创业之父Paul Graham的文集,感受作者的独特视角和非凡的人生智慧)

2014-11-13

空空如也

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

TA关注的人

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