自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿凯的专栏

一点一滴的累积,我要冲向我的光明,迎接终会到来的爆发!

  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 IDEA 2020.3 右下角没有小人头,高亮级别,highlight level,语法检查

今天升级到最新版本的 IDEA 企业版,发现居然没有小人头,调整高亮级别了,找了好久,发现只能在在编辑框滚动条最上面那里调整了。如图所示,功能是一样的。

2020-12-13 20:20:06 15127 11

原创 分布式锁的Redis,Zookeeper实现

1. 什么是分布式锁  分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。,区别于单实例部署的场景,单实例部署只需要使用synchronized,Reenterlock实现,分布式场景需要借助中间件实现。2. redis实现(1)利用 setnx (set not exist),某个键不存在的时候才会成功// example 1if(...

2018-12-23 22:08:25 507

转载 Redis(六) 十大健康指标

原文地址:https://mp.weixin.qq.com/s/sSl3_RV_xP1EoZnE7shqfA存活情况连接数阻塞客户端数量使用内存峰值内存碎片率缓存命中率OPS持久化失效KEY慢日志存活情况  所有指标中最重要的当然是检查redis是否还活着,可以通过命令PING的响应是否是PONG来判断。连接数  连接的客户端数量,可通过命令src/redis...

2018-12-18 22:37:38 1529

原创 Redis(五)Sentinel简介及SpringBoot访问

参考:https://blog.csdn.net/men_wen/article/details/727244061. Sentinel介绍1.1 主从复制的问题  Redis主从复制可将主节点数据同步给从节点,从节点此时有两个作用:  一旦主节点宕机,从节点作为主节点的备份可以随时顶上来。扩展主节点的读能力,分担主节点读压力。但是问题来了:一旦主节点宕机,从节点晋升成主节点,同...

2018-12-18 22:35:04 1096

原创 Redis(四)Cluster集群搭建及SpringBoot访问

官方教程:https://redis.io/topics/cluster-tutorialCluster集群原理、搭建:https://www.cnblogs.com/PatrickLiu/p/8458788.htmlSpringboot 使用redis集群:https://blog.csdn.net/VitaminZH/article/details/80874532介绍  Redi...

2018-12-18 22:28:51 804 1

原创 Redis(三)事务

一、Redis事务和Mysql事务对比数据库MySQLRedis开启start transactionmuitl语句普通sql普通命令失败rollback 回滚discard 取消成功commitexec二、Redis事务特点redis的事务实现很简单,只是简单的取消,执行exec命令后,如果multi后面有三条语句,其中有一条是...

2018-12-18 22:18:43 171

原创 Redis(二)数据类型及操作命令实践

目录1. String2. Hash3. List4. Set5. zSet6. 应用场景 1. String(字符串)string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象...

2018-12-18 21:34:33 231

原创 Redis(一)单实例部署配置

一、下载,安装下载地址:http://download.redis.io/releases/redis-4.0.11.tar.gz下载后通过FTP工具上传到服务器:/app/redis/package或者使用命令下载[root@100 package]#wget http://download.redis.io/releases/redis-4.0.11.tar.gz解压[roo...

2018-12-18 21:24:53 607

原创 Spring Boot(二)集成TK Mpaaer和 H2 DataBase

TKMapper 在Mybatis的基础上封装了绝大多数的单表操作,基本的CURD,条件查询,统计查询,除非出现多表操作,否则,不需要自己写SQL,请参考通用 MAPPER 3H2 数据库是一个极小的数据库,支持内存模式,嵌入式模式,只需要引入一个jar包,非常适合Demo的开发,当然也有其他更强大的用法。请参考H2数据库教程项目结构如下:引入Mybatis和H2 数据库 ...

2018-09-02 17:00:22 861

原创 Java解析Excel导入的时间格式(Thu Aug 30 11:00:33 CST 2018)

项目中需要导入Excel模板,单元格格式设置为时间格式,java bean使用java.util.Date 接收的时候可以直接导入到DB,但是实际情况中,用户可能输入汉字或者其他非日期格式,此时将会直接报错,为了提高程序健壮性,选择String类型来接收,手工解析,如果格式错误,可以有友好的提示或者直接容错。使用String接收Excel的日期格式,得到的是一串类似:Thu Aug 30 11...

2018-08-30 11:49:36 5176

原创 分布式ID生成 - 雪花算法

雪花算法是一种生成分布式全局唯一ID的经典算法,关于雪花算法的解读网上多如牛毛,大多抄来抄去,这里请参考耕耘的小象大神的博客ID生成器,Twitter的雪花算法(Java)网上的教程一般存在两个问题:1. 机器ID(5位)和数据中心ID(5位)配置没有解决,分布式部署的时候会使用相同的配置,任然有ID重复的风险。2. 使用的时候需要实例化对象,没有形成开箱即用的工具类。本文针对上面...

2018-08-30 00:00:03 33881 12

原创 借助Spring注解实现业务分离

    当我们的系统需要支持的版本越来越多的时候,程序中将不可避免的出现很多IF判断,久而久之,我们的框架将和业务紧紧地耦合在一起,程序中也会到处都是IF,ELSE判断。如下面的程序,完成一个模块分支的功能,当module增加的时候,就要增加一个ELSEIF,让程序可读性可维护性严重下降,也会更容易出错。public class OldUserService{ public void doSe...

2018-06-23 18:04:02 562

原创 Oracle Table、Type、Array的创建与使用

    Oracle支持Array类型,使得Oracle不用非得使用游标来遍历多行记录,本文演示了一个Object Array的创建,初始化和遍历取值,动态生成新的Array的方式。一、创建表BEGIN DROP TABLE emp; EXCEPTION WHEN OTHERS THEN IF sqlcode != -0942 THEN RAISE; END IF; ...

2018-04-22 15:43:08 11176

转载 JVM内幕:Java虚拟机详解

本文对JVM框架进行了简要的分析

2018-01-25 23:09:57 157

转载 浅析JVM--JVM调优总结 -Xms -Xmx -Xmn -Xss

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

2018-01-25 22:05:28 178

转载 浅析JVM--java 内存模型(堆和栈的区别)

栈内存,堆内存和垃圾回收器的关系:在堆中分配内存给新产生对象或者数组的同时,还在栈中产生一个特殊变量,这个特殊变量的取值等于对象或者数组在堆内存中的首地址。当这个特殊变量超过了函数体{},被自动回收后,那么在堆中分配的那块儿内存就变成了垃圾。这个时候就可以启动垃圾回收器进行回收了

2018-01-25 21:50:37 1210 2

原创 JDK 源码学习 -- ArrayList,LinkedList

本文从先分析了实现了List接口的几个常用集合类之间的关系和区别,然后再从代码层次分析这些区别和联系时如何实现的。实现了List接口的类主要有:AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList

2018-01-21 23:49:41 193

原创 Sping Boot (一) 第一个Spring Boot 应用

Boot对Spring应用的开发进行了简化,提供了模块化方式导入依赖的能力,强调了开发RESTful Web服务的功能并提供了生成可运行jar的能力,这一切都清晰地表明在开发可部署的微服务方面Boot框架是一个强大的工具。正如前面的例子所示,借助于Boot,让一个RESTful Web工程运行起来是一件很容易的事情;不过,为了了解Boot所有潜在的功能,我们会阐述在开发完整功能的微服务时,会遇到的所有繁琐的事情。在企业级基础设施领域,微服务是一种越来越流行的应用架构,因为它能够实现快速开发、更小的代码库、企

2018-01-14 23:27:34 276

原创 MySql 游标的使用(二)FETCH INTO取出来的部分字段为NULL

最近碰到一个需求,需要根据将一张表的某个字段将这条记录分解成多条,并插入到另外一张表,逻辑简单,使用存储过程和游标搞定。但是在开发过程中发现了一个问题。使用FETCH INTO取出来的某些字段为NULL,分析了良久,发现,为NULL的字段都是以单个单词命名的,例子如下。DROP TABLE IF EXISTS `tbl_job`;CREATE TABLE `tbl_job` (

2018-01-13 22:53:53 24406 7

原创 Java 反射机制(三) Spring中Bean注入分析

在使用XML文件配置Spring Bean的时候,底层实现就是使用反射机制实现的。工作之余跟了Spring的源码,但是至今还毫无头绪,以后得空再认真阅读。本文时根据自己的分析和对反射的实践,得出的结论。

2018-01-12 23:10:35 891

原创 Java 反射机制(二)使用反射破坏单例,使用枚举加强单例

本文介绍了如何使用反射机制破坏传统的单例类,以及如何使用Java的枚举类创造出最简捷,最安全的单例。反射的功能非常强大,普通的单例,将默认的无参构造方法私有化,但是利用反射机制任然可以实现对私有构造器的访问,实例化出多个对象。1. 新建一个懒汉模式的单例类 SingleTonUtils.java/** * */package com.jnk.think.java.chapt

2018-01-11 23:31:47 1480

原创 Java 反射机制(一)

Java反射机制就是通过Java的字节码文件得到这个类的Class对象,从而获取这个类的任何方法,任何属性,设置任何属性值,调用任何方法!包括private属性和方法。反射可以说是最高层次的抽象。

2018-01-11 22:00:46 138

原创 Mybatis学习总结(三) 实战

Mybatis常用知识点总结

2017-12-17 21:40:55 202

原创 Mybatis学习总结(二) 搭建

快速搭建Mybatis环境

2017-12-15 23:55:56 217

原创 Mybatis学习总结(一) 介绍

1.什么是Mybatis?    MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。2.Myba

2017-12-15 23:29:52 168

原创 MySQL 事务

mysql事务笔记

2017-12-12 01:28:15 153

原创 JavaScript函数传参

函数传参2 #div1{ width: 200px; height: 200px; background: #aaa; } function setStyle(paramName,paramValue) { /** * 所有用 . 号的地方都可以用[] 代替 * oDiv.style['width'] oDiv.sty

2017-10-11 23:09:21 263

原创 jQuery 事件

锋利的jQuery 第四章:事件和动画window.onload == $(document).ready(function(){}) == $().ready(function(){}); ==$(function(){});// 有细微差别事件绑定使用 bind(type,[,data],fn); 方法进行事件绑定。type:blur,focus,load,resize

2017-10-10 23:32:01 147

原创 jQuery选择器

选择器是jQuery的根基,熟练使用选择器能达到事半功倍的效果选择器的种类:1. 基本选择器$("#id")    // 按ID选取元素$(".mini")  // 按class选取元素$("div")    // 按tag name选取元素$("*") // 选取所有元素$("#id,.mini") // 混合选取,返回所有符合条件的元素2

2017-09-29 23:47:09 218

原创 MySql 游标的使用

/* MySQL 存储过程编写以及游标的使用 NonkeyJiang 2017-09-14*/DROP TABLE IF EXISTS tbl_a;CREATE TABLE tbl_a( ID INT, NAME_A VARCHAR(20));TRUNCATE tbl_a;INSERT INTO tbl_a VALUES(1,'a'),(2,'ab'),(3,'ab

2017-09-14 23:58:25 334

原创 MySQL 流程控制语句

Mysql 脚本流程控制

2017-09-14 22:56:55 731

原创 InnoDB 数据库引擎TableSpace Exists 问题

Mysql 5.7 5.6 报错 Tablespace '`panda`.`t1`' exists. 的处理方式

2017-08-18 01:22:27 7188 4

原创 log4j 和 slf4j 日志框架

使用slf4j 调用log4j搭建日志框架。首先要导入依赖包。 log4j log4j ${log4j.version} org.slf4j slf4j-api ${slf4j.version} org.slf4j slf4j-log4j12 ${slf4j.version} log4j会自动读取

2017-03-14 00:32:47 347

原创 Spring+SpringMVC+Mybatis+Restful+Maven多模块项目集成

1.建立Maven多模块项目多模块项目就是将前台和后台进行分离,让后台开发者专注于后台逻辑,前台开发者专注于前台功能,两者互不干扰却又相互协作。(1)创建父项目选择new->other->Maven Project这一步去掉Create a simple project (skip archetype selection)选择quick start模板

2017-03-07 23:39:23 993

原创 Maven + Spring + Restful + mybatis 项目依赖配置

创建项目首先要导入依赖包。 UTF-8 4.3.0.RELEASE 3.2.6 1.7.7 1.2.17 2.23.1 3.11 org.apache.poi

2017-02-26 20:47:07 793

原创 使用ListIterator 对List遍历时修改,删除

使用ListIterator实现对List进行遍历时修改,以及List的反向遍历

2016-11-07 21:31:42 10834 2

原创 POI 解析Word 需要的包

使用POI解析word必须在maven中先导入以下四个包poipoi-ooxmlpoi-scratchpadartifactId>xmlbeans

2016-11-01 15:44:16 4351

原创 修改List中的项目

使用List的set方法,替换指定位置的值。方法原型:set(int index, E element)参考:https://zhidao.baidu.com/question/2055893217136366107.html

2016-10-31 20:14:54 531

原创 Type interface XXXMapper is not known to the MapperRegistry 解决办法

配置映射XML文件的时候忘了指定namespace,导致报Type interface XXXMapper is not known to the MapperRegistry 这个错,下面是正确的配置文件。

2016-10-26 23:33:44 14803 1

原创 Maven项目文件路径问题

假设文件路径为:ProjectName\src\main\java\cn\jnk\mybatis那么,在代码中,默认根目录就是ProjectName,ProjectName目录下有一个config.properties 文件,在代码中就直接使用FileInputStream fstream= new FileInputStream(“config.properties”);

2016-10-26 10:30:30 8196

java国际化组件

Java后台国际化组件,直接使用Eclipse导入Maven项目即可,本项目是一个模块,供其他模块调用。

2017-02-26

空空如也

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

TA关注的人

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