自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 Elasticsearch别名,字段属性修改,索引备份

新增索引PUT /add_index{ "mappings" : { "properties" : { "area" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } }

2021-07-13 10:29:43 482

转载 深入理解Java注解类型(@Annotation)

关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解Java并发之synchronized实现原理深入理解Java内存模型(JMM)及volatile关键字深入理解Java类加载器(ClassLoader)java注解是在...

2018-06-14 13:36:19 359

转载 深入理解Java类加载器(ClassLoader)

关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解Java类加载器(ClassLoader)深入理解Java并发之synchronized实现原理Java并发编程-无锁CAS与Unsafe类及其并发包Atomic深入理解...

2018-06-13 13:59:56 288

原创 存储过程随记

存储过程加法计算DROP PROCEDURE if EXISTS test_add;CREATE PROCEDURE test_add(IN a int,IN b int,OUT c int)BEGIN IF a IS NULL THEN SET a = 0; end IF; if b is null THEN set b = 0; end IF; s...

2018-06-06 11:34:28 214

转载 Spring Boot 事务的使用

Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。关于事务管理器,不管是JPA还是JDBC等都实现自接口 PlatformTransactionManager 如果你添加的是 spring-boot-starter-jdbc 依赖,

2017-10-12 11:55:31 537

转载 使用canal进行mysql数据同步到Redis

1. 可行方案先从Redis读取数据,如果没有查询到;便从mysql查询数据,将查询到的内容放到Redis中。对于写操作,先对mysql进行写,写成功对Redis进行写。当然这是一种相对直观而且简单的方法,但是看起来有许多操作需要我们自己去做。使用mysql的udf去做,大体的思想是通过数据库中的Trigger调用自定义的函数库来触发对Redis的相应操作,比较麻烦的一点是:自

2017-10-09 19:31:10 1602

原创 Java中字符串内存位置

前言总结一下:基本类型的变量数据和对象的引用都是放在栈里面的,对象本身放在堆里面,显式的String常量放在常量池,String对象放在堆中。常量池的说明常量池之前是放在方法区里面的,也就是在永久代里面的,从JDK7开始移到了堆里面。String内存位置说明显式的String常量String a = "test";String b = "test";

2017-09-06 20:40:16 1217

转载 Java三大器之拦截器(Interceptor)的实现原理及代码示例

前言:前面2篇博客,我们分析了Java中过滤器和监听器的实现原理,今天我们来看看拦截器。1,拦截器的概念    java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。在AOP中,拦截器用于在某个方法

2017-09-06 17:38:29 606

转载 Java三大器之监听器(Listener)的工作原理和代码演示

现在来说说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。首先来看一下ServletContextListener接口的源代码

2017-09-06 17:36:33 343

转载 Java三大器之过滤器(Filter)的工作原理和代码演示

一、Filter简介  Filter也称之为过滤器,它是Servlet技术中最激动人心的技术之一,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp,Servlet, 静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。  Servlet API中提供了一个

2017-09-06 17:34:21 365

转载 Elasticsearch基础教程

Elasticsearch基础教程    翻译:潘飞([email protected])基础概念    Elasticsearch有几个核心概念。从一开始理解这些概念会对整个学习过程有莫大的帮助。    接近实时(NRT)        Elasticsearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个

2017-09-01 20:46:19 439

转载 java中的语法糖

语法糖(Syntactic Sugar),也叫糖衣语法,是英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语。指的是,在计算机语言中添加某种语法,这种语法能使程序员更方便的使用语言开发程序,同时增强程序代码的可读性,避免出错的机会;但是这种语法对语言的功能并没有影响。Java中的泛型,变长参数,自动拆箱/装箱,条件编译等都是,下面做简单的介绍和分析。泛型

2017-08-31 11:26:04 369

转载 java内存模型

1. 概述  多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性  由于

2017-08-30 21:11:24 231

转载 Java虚拟机详解----常用JVM配置参数

原文地址:http://www.cnblogs.com/smyhvae/p/4736162.html【声明】 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/文章来源:http://www.cnblogs.com/smyhvae/p/4736162.html联系方式:[email protected]

2017-08-26 11:43:16 314

转载 Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来

2017-08-26 10:22:22 275

转载 基于Spring Boot和Spring Cloud实现微服务架构学习(六)-Docker应用

应用Docker部署下面就介绍如何将之前的spring Boot项目部署在Docker上,首先,在应用根目录下建立 Dockerfile 文件,以使用 Maven 构建为例,选用 maven:3.3.3 官方镜像,官方维护的 Maven 镜像依赖于 Java 镜像构建,所以我们不需要使用 Java 镜像,具体内容如下:[html] view plain co

2017-08-21 15:58:34 372

转载 基于Spring Boot和Spring Cloud实现微服务架构学习(五)-Docker总结

介绍Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。docker在部署软件方面解决了最困难的问题,将应用程序代码开发和部署环境。在不同平台之间移植代码变得很简单,因为我们的应用程序代码是被包装在Docker环境中。D

2017-08-21 15:57:35 419

转载 基于Spring Boot和Spring Cloud实现微服务架构学习(四)-Spring Cloud总结

Spring Cloud介绍spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。Spring Cloud与Dubbo对比提到Dubbo,我想顺便提下ESB,目前央视新华社也在用ESB来做任务编排

2017-08-21 15:56:13 467

转载 基于Spring Boot和Spring Cloud实现微服务架构学习(三)-Spring Boot应用

前言我们知道spring Boot 是 Spring 产品中一个新的子项目,致力于简便快捷地搭建基于 Spring 的独立可运行的应用。大多数的 Spring Boot 应用只需要非常少的 Spring 配置,并且这些都统一配置在application.yml中,极好的解决了各种配置文件的困扰。说到这里,如果你觉得看英文文档很吃力,推荐一本老师推荐的书《JavaEE开发的颠覆者:S

2017-08-21 15:54:32 344

转载 基于Spring Boot和Spring Cloud实现微服务架构学习(二)-Spring Boot总结

引用引用某位技术大牛推荐的技术成长方法:        1)我们要经常关注技术网站,如csdn,iteye,infoq等;  2)要努力提高英语水平,学习研究第一手的技术资料;  3)对新技术要保持饥饿和敏感,一旦有新技术要主动的了解和学习;  4)学会对技术进行高层次的总结和理解,在相似的新技术出现时可以类比学习快速上手;  5)善于使用搜索引擎检索技

2017-08-21 15:52:38 492

转载 基于Spring Boot和Spring Cloud实现微服务架构学习(一)-Spring框架介绍

总结看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习感悟。首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道。因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差,最开始我就进入了这样误区。官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选

2017-08-21 15:50:33 391

转载 Java集合及concurrent并发包总结

1.集合包    集合包最常用的有Collection和Map两个接口的实现类,Colleciton用于存放多个单对象,Map用于存放Key-Value形式的键值对。  Collection中最常用的又分为两种类型的接口:List和Set,两者最明显的差别为List支持放入重复的元素,而Set不支持。List最常用的实现类有:ArrayList、LinkedList、Vector及St

2017-08-17 14:59:39 375

原创 java内存区域讲解

Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则依赖用户线程的启动和结束而建立和销毁。Java虚拟机所管理的内存包含以下几个运行时数据区域程序计数器 程序计数器是一块比较小的内存区域,可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型中,字节码解

2017-08-15 20:28:04 358

转载 彻底解决Spring MVC 中文乱码 问题

1:表单提交controller获得中文参数后乱码解决方案注意: jsp页面编码设置为UTF-8form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果[html] view plain copyprint?%@ page language="java" import="java.util.*" pageEnco

2017-08-14 14:24:31 393

转载 (转载)spring3和spring4的一些需要注意的地方

转载地址:http://blog.csdn.net/cr135810/article/details/52302387最近搭建了一个框架,开始用的spring3.1.1 后来升级到spring4.2.0,把遇到的问题记录一下当做备份了1、Java.lang.NoSuchMethodError: org.springframework.aop.scope.ScopedProxyUtils.isSco

2017-08-08 20:05:26 3158

原创 java从数据库获取单个对象或对象集合的简单工具类

开发中在不用数据库的情况下操作数据库,比如说对数据库的增删改查,每次都重新撸一遍重复的代码,那样就会很麻烦,这里就给安利一个很简单的工具类来对数据库进行读写操作,当然并不能涵盖所有的功能,说了,只是很简单的操作数据库,当然你可以直接使用框架来操作,那样更好。。。话不多说,直接上代码。。。public class DBOperate<T> { private static Connection

2017-07-25 15:53:10 3116

原创 Struts2--获取ServletAPI的方式

当我们在使用Struts2的时候,在Action类中要怎么获取我们所需要的ServletApi呢,比如常用的request对象,response对象等,下面介绍三种接口对象的获取的方式通过我们的ActionContext来获取ActionContext,把它理解为一个装数据的容器,每次创建Action的时候,同时都会创建一个ActionContext,它用来保存Action执行过程中用到的数据

2017-07-24 17:30:22 339

原创 java程序性能优化之设计优化--优化组件和方法(2)

本篇介绍一些常用的可用于系统性能优化的组件和方法缓冲(Buffer)缓冲区是一块特定的内存区域,开辟缓冲区的目的是通过缓解应用程序上下层之间的性能差异,提高系统的性能,我们在日常生活中最常见的缓冲的例子就是: 漏斗 上次系统犹如入水口,下层犹如系统,倒水犹如向磁盘写东西,然而瓶口很细,造成了性能瓶颈。所以为了加快速度,可以添加一个漏斗。 漏斗的初始口径很大,并拥有一定的容量,那么

2017-07-22 17:54:51 621

原创 java程序性能优化之设计优化--设计模式:单例模式(1)

版权声明:本文为博主原创文章,未经博主允许不得转载。单例模式是设计模式中使用最普遍的模式之一,它是一种对象创建模式,用于创建一个对象的具体示事例,它可以确保系统中一个类只产生一个实例。使用单例设计模式给我带来的好处就是:1,对于频繁使用的对象,可以省略创建对象所花费的时间2,由于new的次数减少,因而对内存的使用频率也会降低,这将减轻GC压力,因此,使用单例模式便可以有效的改善系统性能单例模式的核

2017-07-18 19:52:20 634

原创 java多线程买票,同步锁

经典多线程例子:售卖火车票 要求销售1000张票,要求有10个窗口来进行销售, 请编写多线程程序来模拟这个效果public class MyTask implements Runnable{ private int ticket = 10; @Override public void run() { while(true){ synchr

2017-06-07 10:32:04 3728

原创 拷贝文件夹到一个新的文件

/** * 拷贝文件夹到一个新的文件 * * @param newPath 要拷贝的文件路径 * @param oldPath 要拷贝到哪个路径 * @throws IOException 异常抛出由调用者处理 */public static void copyDirs(String oldPath, String newPath) throws IOException {

2017-06-02 20:29:17 655

转载 这个架构能实现吗?

近来一直在做一个产品的架构升级,架构升级的前期工作是对旧架构现存的问题进行梳理,考虑新架构的设计如何规避旧架构的坑,完善旧架构支持不佳的缺陷。终于完成了新架构设计,在给开发工程师讲解时,还会遇到开发的疑惑:新架构真能实现旧架构上支持的特别困难或别扭的场景么,如此等等。一个架构从设计到实现,到底要做些什么,关注些什么?那么我们就从下面这个问题开始梳理吧。架构做什么查了下维基百科(Wikipedia)架

2017-06-02 18:55:03 367

原创 java插入排序

给大家安利一个比较简单实现的插入排序的算法直接撸代码了private void test10(int[] arr) { int temp = 0; for (int i = 1; i < arr.length; i++) { for (int j = i; j > 0; j--) { if (arr[j - 1] > arr[j]) {

2017-05-22 20:53:36 387

原创 eclipse格式化代码快捷键Ctrl+Shift+F失效

这几次在用eclipse做开发的时候发现不能用快捷键进行代码格式化了,也就是ctrl+shift+f ,按了没反应,然后查看快捷键的设置,发现是好的,也没有冲突后来发现是搜狗输入法的问题,想想你是否装了搜狗输入法?打开搜狗的属性设置:可以发现是搜狗的简繁体转换快捷键和 我们的格式化代码快捷键冲突了,可以直接把前面的勾 去掉,如图所示,因为我们平时基本用不到这个功能,当然你可以将这个快捷键更换掉。

2017-05-22 08:53:13 1083

原创 java二分查找

本文是关于java二分查找的方法 关于二分查找,大家要能知道一点,就是二分查找的条件就是:查找的数组是一个有序数组,关于如何将一个无序数组进行排序,大家可以看下 java冒泡排序 和 java选择排序好啦,废话不多,上车@_@所谓的二分查找,就是每次从查询数组的中间的值,判断这个值和要查找的值得大小,相同,那就是要查的值,若中间的值比要查找的值大,那就往左边找,否则就往右边找 上代码: /

2017-05-20 16:29:08 658

原创 java选择排序

java选择排序 关于排序,大家还可以看下这篇文章,冒泡排序选择排序,名字还是挺难懂得,但是原理很简单,就是给到你一个数组,第一次做循环判断时只需要保证你数组的第一数是最小的,即:将第一个数和第二个数比较,如果第二个数比第一个数小,就将两个数交换,然后再比较第一个数和第三个数,若第三个数还小,就继续交换,总之,把小的往前丢。code献上: 准备工作: /** * 随机生成一个无

2017-05-20 16:09:57 464

原创 java冒泡排序

java冒泡排序,就是将前后两个数相比较,如果前一个数比后一个数要大,就将两个数的位置进行交换 下面来看程式:准备工作: /** * 随机生成一个无序数组 * @return */ public static int[] getUnorderedArr(){ int[] arr = new int[100]; for(i

2017-05-20 15:59:56 591

原创 Eclipse基本配置与快捷键

Eclipse下载地址:https://www.eclipse.org/downloads/一、配置部分1、配置jdk:Eclipse安装后会自动关联环境变量中配置的jdk,如果安装了多个版本的jdk想要切换,可手工配置:”window”-“Preferences”-“Java”-“Installed JREs”-“Add”-“Standard VM” –选择jdk安装目录2、改变编辑区代码字体大小

2017-05-20 10:17:11 1172

原创 java求最大公约数,最小公倍数

java求最大公约数,最小公倍数求两个数的最大公约数:private int getMaxGongYueShu(int a,int b){ int gongyue = 0; int min = a<b?a:b; for(int i = min;i>0;i--){ if(a%i == 0 && b%i == 0){ System.out.

2017-05-19 12:01:49 767 1

原创 java判断一个数是否是素数

判断一个数是否是素数 素数也叫质数.是除了1和其本身,不能被其他正整数整除的正整数 如何判断一个数为素数呢? 提供两个方法 方法一:private boolean isSushu(int num){ boolean flag = true; if(num <2){ return false; } for(int i = 2;i<num;i++)

2017-05-19 10:01:45 7686

万能listView ViewHolder适配器

万能的ViewHolder

2016-05-11

RecyclerView的初次体验

RecyclerView的初次体验,item的点击和长按事件,类似与listview的条目条目点击事件,item的增删动画

2016-02-02

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

TA关注的人

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