- 博客(45)
- 资源 (25)
- 收藏
- 关注
原创 Idea使用Eclipse的代码格式
1. Idea安装Eclipse code formatter 插件设置 --> plugins --> eclipse code formatter --> 安装2. 配置代码格式模板设置 --> Other Settiings --> Eclipse Code Formatter使用的配置的xmlhttps://download.youkuaiyun.com/download/u011359903/12417928...
2020-05-14 08:25:49
701
原创 缓存的最佳实践
1. 本地缓存、分布式缓存、文件缓存缓存就是数据交换的缓冲区,按照分布情况,可以分为: 本地缓存:可用hashmap(注意并发)、guava-cache(推荐)等。对于一致性要求不高、访问频率高、总数据集小、重建成本低可以考虑使用本地缓存。本地缓存的不好的地方是占用JVM堆内存,影响垃圾回收,影响系统性能。 分布式缓存:实现由redis(推荐)、memcache等。对于较大且不...
2020-03-20 10:27:01
897
原创 FeatureToggle
概述为了控制功能开启与关闭,减少代码中的if-else繁琐的逻辑判断。主要通过spring的aop及java的注解实现。目前主要包含6个部分的代码,支持内存存储和部分策略。源码git:稍后放源码功能 单个开关的配置 开关组的配置,通过组的设置,可控制组内的开关的开启和关闭 开关使用策略(v1.0 支持工作日策略,可灵活配置其他时间;支持客户端和服务端策略) ...
2018-12-04 20:47:18
2096
转载 Spring的AOP
1AOP概述AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传统 OOP(Object-Oriented Programming,面向对象编程)的补充。两种编程思想。是对面向对象编程的一种补充。面向切面编程:是指在程序运行期间将某段代码,动态的切入到某个类的指定方法的指定位置的这种编程思想叫做面向切面编程。AOP编程操作的主要对象是切面(asp...
2018-03-22 17:38:05
223
原创 数据库的DDL,DCL,DML
DML(Data manipulation language):数据操作语言,主要有select,insert,update,delete等,对数据库进行操作的语言。DDL(Data define language):数据定义语言,主要有create,alert,drop等,更改数据表的结构、数据类型、表之间的连接和约束等。DCL(Data control language):数据控制语言,主要...
2018-03-15 10:55:39
1057
原创 java知识点和面试
1、准备一、java基础部分:1)概念:java特性(多态,封装,抽象,继承),面向对象,面向过程,面向服务,同步和异步,阻塞和非阻塞2)常用的关键字:final,volatile,synchronized,static,abstract,interface等3)常用的集合:collection接口下的和map接口下的,collection下的list,set,ArrayList,
2018-02-06 15:35:48
533
原创 使用Elasticsearch的java api,操作elasticsearch
本应用使用的maven,java8。依赖的jar包: org.elasticsearch.client transport 5.2.2 org.apache.logging.log4j log4j-api 2.7 org.apache.logging.log4
2017-12-19 17:47:54
6176
原创 ElasticSearch的reIndex
由于Elasticsearch已创建的index是不允许修改的,其原因是由于创建的时候就会创建倒排索引,但是此时应用程序已经在使用了该索引,并且不允许应用暂停,那么怎么去处理这样的事情呢?下面就是一个比较靠谱的解决方案,就是使用alias,scroll api,bucket api。具体案例如下:保存数据PUT /index_before/type_before/1{"ti
2017-12-19 17:20:11
2061
原创 操作系统的堆和栈的区别
操作系统栈:由编译器分配,存放函数的参数值、临时变量值等,操作方式类似于数据结构中的栈。堆:由程序员分配,若程序员不进行释放,堆会在程序结束后OS进行释放。与数据结构中的堆是两回事,分配方式类似于链表,一般存放大的数据对象。数据结构栈:一种线性的数据结构,先进后出。堆:结构如同树,可以使用堆进行排序(堆排序)。
2017-12-03 16:27:46
1409
原创 kafka的java实例
1、依赖的jar包 0.10.2.0 org.apache.kafka kafka-clients ${kafka.version} org.apache.kafka kafka_2.11 ${kafka.version}
2017-11-22 17:23:25
552
转载 kafka配置说明
broker.id =0每一个broker在集群中的唯一表示,要求是正数。当该服务器的IP地址发生改变时,broker.id没有变化,则不会影响consumers的消息情况log.dirs=/data/kafka-logskafka数据的存放地址,多个地址的话用逗号分割 /data/kafka-logs-1,/data/kafka-logs-2port =9092broker serve
2017-11-20 15:41:40
443
原创 java NIO
NIO(non-blocking)非阻塞的IO,为传统的IO提供缓存支持。一、概述1、ChannalChannel如同流,数据可以从channel读到buffer中,也可以从buffer读到channel中。Channel中有:FileCannel、DatagramChannel、SocketChannel、ServerSocketChannel2、
2017-11-02 10:44:39
355
原创 SpringBoot整合quartz(支持多个任务和job支持spring管理的对象)
工作中经常遇到quartz的job注入的spring对象为null,原因是这样的:quartz每次执行一次job会将执行完成后的job销毁,下次执行的时候,重新new,这就导致job中的@Autowired注入的Spring对象为null,下面为了避免这个问题,以后的job都是从spring中获取。之前的文章只适合单个的job,这次采用Factory的方式,支持多个job。上代码:1、创建
2017-10-13 10:52:08
10413
1
原创 Spring Boot和Quartz的整合
Spring Boot目的是零配置,为了遵从该理念,下面的代码采用的是注解方式。1、配置quartzimport org.quartz.Trigger;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import
2017-09-29 14:01:35
8536
1
原创 Quartz的简单实例
1、Jobimport java.text.SimpleDateFormat;import java.util.Date;import org.quartz.Job;import org.quartz.JobDataMap;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;i
2017-09-29 13:59:11
563
原创 Quartz浅析
Quartz1、简介2、设计模式builder模式,factory模式,组件模式,链式写法3、核心1)调度器(scheduler)2)任务(JobDetail)3)触发器(SimpleTrigger和CronTrigger)4、执行方式1)编写一个job实现类,实现相应的job任务2)使用JobDetail封装job,使用JobBuilder创建一个JobD
2017-09-29 13:57:40
438
原创 java的final变量浅析
final关键字可修饰类、方法、变量(包括成员变量和局部变量)。1、修饰类final修饰类,说明被修饰的类不可以被继承,同样final修饰的类里面的成员方法均为final方法。值得注意一下,String类就是一个final类。2、修饰方法final修饰方法,说明被修饰的方法不可以重载,防止被继承的类修改该方法。注:private方法会隐式的指向final方法。3、修
2017-09-21 16:26:59
373
原创 MySQL常用引擎
mysql常用的引擎有两个:InnoDB和MYISAM1、InnoDB对数据库支持了ACID事务支持,并且提供了行级锁和外键约束。它的设计的目标就是处理大数据容量的数据库系统。它本身实际上是基于Mysql后台的完整的系统。Mysql运行的时候,Innodb会在内存中建立缓冲池,用于缓冲数据和索引。但是,该引擎是不支持全文搜索的。同时,启动也比较的慢,它是不会保存表的行数的。当进行Selec
2017-09-19 22:38:24
334
原创 Spring的IOC(控制反转)和DI(依赖注入)
Spring的IOC和DI1、概念1)IOC和DI:控制反转和依赖注入是一种基于接口的编程,bean有IOC容器创建,在用的时候从容器中拿即可,主要是采用反射来实现的,其核心组件为BeanFactory,但实际开发中是XmlBeanFactory。2)反射机制:在运行状态中,对于任意一个类,都可以知道这个类的属性和方法,对任意一个对象,都可以调用它的方法和属性,这种动态获取类的信息和动
2017-09-19 22:23:15
358
原创 spring事务浅析
Spring事务1、事务概念:事务是一系列动作,它们综合在一起,组成一个完整的工作单元,这些动作必须全部完成,若有一个失败,会回滚到初始状态。2、事务的特性:4个特性ACID(原子性、一致性、隔离性、持久性)原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。一致性(Consistency):一旦事务完成(不管成功
2017-09-17 15:00:03
273
原创 Map和List的对象是否是同一对象(并说明hash冲突)
先上代码,根据结果说明:public static void testList(){ Map map = new HashMap<>(); for(int i = 0; i<10;i++){ List list = new ArrayList<>(); list.add("1"); map.put(String.valueOf(i), list); System
2017-07-11 11:20:38
577
原创 linux下安装GraphicsMagick
系统为CentOS1. 下载GraphicsMagick的文件GraphicsMagick-1.3.22.tar.gz2. 将文件复制到/usr/local目录下3. 解压GraphicsMagick-1.3.22.tar.gz文件,tar –zxvf GraphicsMagick-1.3.22.tar.gz4. 在GraphicsMagick-1.3.22的目录里面配置,./
2017-06-25 23:15:55
1232
原创 Linux下安装Tomcat(系统是centOs)
一、安装jdk1. 检查是否系统中装有openjdk(最好是删除openjdk再装sun的jdk现在是oralc的jdk)rpm –qa | grep java 若有则删除掉,最好是全部删了,删除命令是 rpm –e –nodeps 查出来的文件名2. 安装jdk,我是安装的jdk1.81) 首先下载jdk,去oracle官网下载即可,文件名为jdk-8u121-linux-i58
2017-06-25 22:03:00
430
原创 时间戳转成日期,解决总是日期总是1970年的问题
时间戳转成日期,解决总是日期总是1970年的问题 /** * 时间戳转换为指定格式时间 * @param date 时间戳 * @param pattern 时间格式 * @return 指定格式时间 */ public static final String format(Long date ,String pattern){ SimpleDateFormat s
2017-06-16 17:24:44
25091
3
原创 时间戳和日期互相转换
1.将日期字符串转成时间戳: /** * 将String类型的日期转成时间戳 * @param date 格式为“yyyy-MM-dd HH:mm:ss” * @return 默认格式为:“yyyy-MM-dd HH:mm:ss” */ public static String getTimeStampByDateString(String date ){ String re
2017-06-16 16:00:46
2591
原创 Java虚拟机运行时数据区域
1。首先先看一下jvm运行是的数据区域有哪些,如下图:2。运行是的数据区,主要有程序计数器,虚拟机栈,本地方法栈,方法区,堆。程序计数器,虚拟机栈,本地方法栈是线程隔离区,属于线程私有;方法区和堆是线程共享区,属于线程共享。3。运行数据区的详细介绍程序计数器:程序计数器占用很小的一块空间,可以看做当前线程所执行的字节码的行号指示器。Java虚拟机栈:描述java方法执行的内
2017-06-09 11:20:16
600
原创 java序列化(serivalVersionUID)
serialVersionUID作用serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一
2017-06-05 13:22:39
1569
原创 java中子类初始化流程(包括静态区和非静态区)
一. 类中的方法分为实例方法和类方法两种,用static修饰的是类方法。二者有什么区别呢?实例方法: 当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,当该类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。需要注意的是,当我们创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址,也就是说,方
2017-06-05 11:11:08
498
原创 redis的配置(安装、启动、本机与虚拟机的redis的连接)
我的虚拟机中的linux系统是centos6.4一、Redis的安装安装之前确保linux系统以及安装了gcc和tcl,若没有可以使用yum指令安装:yum install gcc和yum install tcl1. 下载redis的二进制压缩包到目录下,我的目录是/home/lyg/redisFiles2. 进入目录,解压tar –zxvf redis
2017-03-17 15:55:36
8126
原创 Maven管理Spring+Mybatis的整合
声明一下:由于一开始打算自己做个java web项目,所以在MyEclipse下搭建的maven项目。1、配置Maven的环境有很多教程,百度一下就可以了,在这里不详细叙说。推荐一个写的比较好的博客:http://blog.youkuaiyun.com/fengshizty/article/details/43019561提醒一下,有的朋友是在公司,网络需要配置代理才可以连外网,在配置ma
2017-02-28 11:11:14
568
原创 单例模式--JAVA
单例设计模式Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。核心知识点如下:(1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。(2) 在其内部产生该类的实例化对象,并将其封装成private static类型。(3) 定义一个静态方法返
2017-02-15 14:06:18
305
原创 BW310学习一
InfoProvider 的简单定义:InfoProvider 是一个可以在BEx 中为其创建或执行查询的对象。InfoProvider 是物理对象,有时是用于报表的逻辑“视图”。该定义正确传达出:InfoProvider 既可以是实时数据库表中数据的物理存储,也可以是虚拟的数据集合(像视图一样),只临时集合数据以便将其输入到查询中,但不永久存储数据。 两个主要的物理InfoP
2016-12-19 14:54:51
535
原创 java的面向对象的四大特征
四大特征分别为:抽象、封装、继承、多态下面分别说一下这四个特征:1、抽象抽象就是对现实的一类事物,抽取其特点,并把这些特点整合一起,用java语言表示来表示该类事物。2、封装封装就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用。对于封装的概念:封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护
2016-10-10 21:19:16
8348
原创 Quartz任务调度快速入门
概述了解Quartz体系结构Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器、任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的这些核心概念进行描述:●Job:是一个接口,只有一个方法void execute(JobExecutionContext context),开发者实现该接口定义运行任务,JobExecutionContext类提供了调度上
2016-09-20 11:17:28
571
转载 hessian学习
hessian是一个采用二进制格式传输的服务框架,相对传统soap web service,更轻量,更快速。官网地址:http://hessian.caucho.com/目前已经支持N多语言,包括:java/c#/flex/php/ruby...maven的依赖项如下:1 dependency>2 groupId>com.cauchogroupId>3 arti
2016-09-20 09:48:50
304
原创 hessian 的简单介绍
一、什么是Hessian Hessian 是一个基于 binary-RPC实现的远程通讯 library。使用二进制传输数据。Hessian通常通过Web应用来提供服务,通过接口暴露。Servlet和Spring的DispatcherServlet都可以把请求转发给Hessian服务。由以下两种方式提供,分别为:com.caucho.hessian.server.HessianServ
2016-09-20 09:41:59
1495
原创 java多线程基础
java多线程有两种方式,一种是继承Thread类,一种是实现Runable接口1、继承Thread类:class threadTest extends Thread { publicthreadTest () { } publicthreadTest (String name) { this.name
2016-09-19 22:05:30
367
原创 MyEclipse 快捷键大全
MyEclipse 快捷键1(CTRL)-------------------------------------Ctrl+1 快速修复Ctrl+D: 删除当前行 Ctrl+Q 定位到最后编辑的地方 Ctrl+L 定位在某行 Ctrl+O 快速显示 OutLine Ctrl+T 快速显示当前类的继承结构 Ctrl+W 关闭当前Editer Ctrl+K 快速定位到下
2016-09-11 21:44:00
306
国民经济行业分类与代码(GB_4754-2011),国民经济行业代码表,国民经济行业分类
2022-08-08
confluence_crack
2020-11-25
Spring揭秘部分3
2018-09-18
Spring揭秘部分2
2018-09-18
tomcat-redis-session-manager1.2.jar
2017-09-26
org.jdesktop.swingx.util.os
2017-09-01
stomp.min.js
2017-03-24
hessian4.0.7 的jar包
2016-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人