自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

coates

........

  • 博客(43)
  • 资源 (4)
  • 收藏
  • 关注

原创 深入java虚拟机(学习笔记)

一、什么是java虚拟机java虚拟机是执行字节码文件(*.class)的虚拟机进程。java源码(*.java)被编译器编译成java字节码文件(*.class)。然后将字节码文件由java虚拟机,解释成不同平台的机器码,利用机器码操作硬件和操作系统。java内存结构图:二、堆、栈、方法区概述区别堆:堆内存用于存放由new创建的对象和数组。在堆中分配的内存,...

2019-07-25 14:42:46 133

原创 sprng 事物与传播行为

一、事物概述⑴原子性(Atomicity)  原子性是指:事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响,伪代码如下:。/** * 伪代码 **/@Transactionalpublic void add() { try { //添加两头个不同的用户入库 ...

2019-07-11 11:43:43 151

原创 Fork/Join 使用及其性能介绍

在JAVA7之前,并行处理数据非常麻烦。第一,你得明确把包含数据的数据结构分成若干份。第二,你要将每个子部分分配给一个独立的线程。第三,你要在恰当的时候对它们进行同步避免不希望的竞争条件,等待所有线程完成,最后把这些部分结果合并起来。在Java 7引入了分支/合并框架,让这些操作更稳定、更不容易出错。什么是ForkJoin 分支/合并框架的目的是以递归的方式将可以并行的任务拆分为更...

2019-04-22 17:21:01 549

转载 JFinal整合WebSocket开发

引用:https://my.oschina.net/u/136848/blog/781896摘要: HTML5 WebSocket实现了服务器与浏览器的双向通讯,双向通讯使服务器消息推送开发更加简单,最常见的就是即时通讯和对信息实时性要求比较高的应用。以前的服务器消息推送大部分采用的都是“轮询”和“长连接”技术,这两中技术都会对服务器产生相当大的开销,而且实时性不是特别高。WebSocket技

2016-11-16 13:55:44 5987 3

原创 初识 Spring Cloud Alibaba-nacos

官方简介:Spring Cloud Alibaba为分布式应用程序开发提供了一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松使用Spring Cloud开发应用程序。使用Spring Cloud Alibaba,您只需要添加一些注释和少量配置即可将Spring Cloud应用程序连接到Alibaba的分布式解决方案,并使用Alibaba中间件构建分布式应用程序系统。springcloudH版本后级替代产品 SpringCloud升级 服务注册中心

2021-05-26 16:51:48 111

原创 数据同步解决方案-canal

一、背景早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元。ps. 目前内部版本已经支持mysql和oracle部分版本的日志解析,当前的c...

2020-05-08 14:06:56 1556

转载 Mybatis 你踩过的坑

案例一: 案例二: 案例三: 案例四: 案例五: 案例六: 案例七: 优缺点 优点: 缺点: 总结: 大多数开发者应该都使用过Hibernate或者Mybatis的框架,或多或少都踩过一些坑!如在MyBatis/Ibatis中#和$的区别,#方式能够很大程度防止sql注入,$...

2019-12-02 15:41:49 227

原创 idea开发必备插件

一、Lombok pluginlombok能够极大的简化消除我们写的代码,使用注解的方式省略get set toString….等方法,使得代码看起来更加的美观。lombok是在编译时候生成对应的方法的,所以在性能上面大家完全不用担心,是与我们写上get set方法是一样的。它自带了这些标签常用注释1 @Data 注解在类上面,省略所有的get set equal toString方法...

2019-10-09 09:22:32 125

原创 线程池

一、什么是线程池线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅...

2019-09-09 10:26:09 133

原创 Centos7安装并配置mysql5.6

1、检查系统中是否已安装 MySQL。rpm -qa | grep mysql返回空值的话,就说明没有安装 MySQL 。注意:在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL,所以执行 yum install mysql 命令只是更新Mariadb数据库,并不会安装 MySQL 。2、查看已安装的 Mariadb 数据库版本。rpm ...

2019-08-01 15:32:54 84

原创 Netty 初次体验

一、什么是nettyNetty是一个NIO客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化并简化了TCP和UDP套接字服务器等网络编程。“快速简便”并不意味着最终的应用程序会受到可维护性或性能问题的影响。Netty经过精心设计,具有丰富的协议,如FTP,SMTP,HTTP以及各种二进制和基于文本的传统协议。因此,Netty成功地找到了一种在不妥协的情况下实...

2019-07-29 16:58:18 82

原创 Map和Bean之间互相转换

今天给大家一个Map和Bean之间互相转换工具类:Map转实体:/** * 将一个 Map 对象转化为一个 JavaBean * * @param clazz * 要转化的类型 * @param map * 包含属性值的 map * @return 转化出来的 JavaBean 对象 * @throws Int...

2019-07-17 15:27:18 195

原创 简单工程模式

简单工厂模式的概念  就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。简单工厂模式的UML图(由idea生成)首先定义信息发送抽象接口public interface Sender { public void Send();}定义不同...

2019-04-24 11:47:14 145

原创 单例模式(Singleton)

简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。单例模式具备如下几个特点: 1、只有一个实例。 2、能够自我实例化。 3、提供全局访问点 优点单例模式的主要优点就是节约系统资源、提高了系统效率,同时也能够严格控制客户对它的访问。也许就是因为系统中只有一个实例,这样就导致了单例类的职责过重,违背了“单一职责原则”,同时也没有抽...

2019-04-24 11:12:17 95

原创 简单入门SpringCloud——eureka

简介:Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka包含两个组件:Eureka Server和Eureka Client。Eurek...

2019-04-23 14:22:21 131

原创 spring boot 整合swagger2

Swagger是一个RESTFUL 接口的文档在线自动生成和功能测试的框架。Swagger 是一个规范和完整的框架。用于生成、描述、调用和可视化RestFul风格的Web服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新文件的方法、参数和模型紧密集成到服务器的代码,允许Api 来始终保持同步,Swagger让部署管理和使用功能强大的Api。官网:http://swagger.io/...

2019-04-23 09:30:27 69

原创 java 实现自动校验必传参数

一、创建一个自定义注解import java.lang.annotation.*;@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.FIELD,ElementType.METHOD})@Documentedpublic @interface IsItNecessary {boolean key() default false;...

2018-05-16 17:39:33 4695 1

原创 AES加密时抛出 java.security.InvalidKeyException:Illegal key size or default parameters 解决办法

使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parametersIllegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的是受限的policy文件。文件位于${java_home}/jre/lib

2018-01-11 16:41:33 825

转载 标准MySQL数据库外的5个开源兼容方案

MySQL是最受欢迎的免费开源应用之一,它是成千上万个网站的数据库骨干。然而,许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都要有自己的专长,这些需求以及Oracle对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支。另外,为了满足特殊业务的需要,MySQL有时候不能完全胜任,这就需要开发出新的解决方案。同时,为了兼容旧业务系统的升级维护,新的技术方案多是基于MySQ

2018-01-07 17:26:43 1857

转载 Sphinx速成指南

Sphinx速成指南(tapy.org原创,本文原文见http://www.tapy.org/sphinx1.0/sphinx.html)版权 ? 2008 Dony,,版权所有,转载请声明来源与作者2008-01-17目录1. Sphinx简介1.1. 什么是全文检索1.2. 介绍1.3. Sphinx的特性2. Sphinx安装(

2018-01-07 17:23:46 353

原创 Druid数据监控服务

一、关于DruidDruid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库连接池。 SQLParser Druid可以做什么? 1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的St

2017-11-27 13:46:10 714

原创 Spring+Spring MVC +shiro 双数据源

最近工程需要去研究了一下spring多数据源的配置和使用,为了后期从多个数据源拉取数据定时进行数据分析和报表统计做准备。由于以前的项目都是单数据源的,没有遇到这种场景,所以也一直没有去了解过如何配置多数据源。后来发现其实基于spring来配置和使用多数据源还是比较简单的,因为spring框架已经预留了这样的接口可以方便数据源的切换。第一步:创建一个DynamicDataSo

2017-11-18 13:51:18 941

转载 Sitemesh 3 配置

1 . Sitemesh 3 简介Sitemesh 是一个网页布局和修饰的框架,基于 Servlet 中的 Filter,类似于 ASP.NET 中的‘母版页’技术。参考:百度百科,相关类似技术:Apache Tiles。官网:http://wiki.sitemesh.org/wiki/display/sitemesh/Home 。2 . Sitemesh 3

2017-11-11 17:16:24 180

原创 Linux安装ftp组件

1 安装vsftpd组件安装完后,有/etc/vsftpd/vsftpd.conf文件,是vsftp的配置文件。[root@bogon ~]# yum -y install vsftpd 2 添加一个ftp用户此用户就是用来登录ftp服务器用的。[root@bogon ~]# useradd ftpuser这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了

2017-10-31 22:09:01 245

原创 maven实现tomcat的热部署。

第一步:安装tomcat    先在CentOS中安装jdk,然后解压tomcat。第二步:在tomcat中配置用户权限    我们需要实现热部署,自然就需要通过maven操作tomcat,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限.    在tomcat的安装目录下,修改conf / tomcat-use

2017-10-31 21:58:30 303

原创 Json数据提取key值

废话不错说直接上代码 public static void main(String[] args) { String jsonString = "{\"companyId\":\"10000\",\"eshopCode\":\"11\",\"eshopTmp\":\"eshopTmp\",\"officeId\":\"10000\",\"userId\":101}"; /

2017-10-23 17:33:42 5611 2

原创 Nginx + Tomcat 负载均衡配置

这里我们用 Nginx 做负载均衡,Nginx 是一款面向性能设计的 HTTP ,稳定性高的反向代理服务器,可以做负载均衡和 HTTP缓存。Nginx安装教程请参考:http://blog.csdn.net/woainimax/article/details/75560946 。1.tomcat修改配置 1、修改这两个Tomcat的启动端口,分别为18080和28080

2017-10-19 22:58:23 200

转载 Spring AOP实现

什么是 AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是 OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP 引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP 则显得无能为力。也就是说,OOP 允许你定义从上到下的关系,但

2017-10-11 21:27:15 186

转载 大数据算法面试题

1、给定 a、b 两个文件,各存放 50 亿个 url,每个 url 各占 64 字节,内存限制是 4G,让你找出 a、b 文件共同的 url?1) 可以估计每个文件安的大小为 50G×64=320G,远远大于内存限制的 4G。所以不可能将其完全加载到内存中处理。考虑采取 分而治之 的方法。2) 遍历文件 a,对每个 url 求取 ,然后根据所取得的值将 url 分别存储到

2017-10-11 21:25:42 11093

转载 Windows 安装 MongoDB 并开启认证

下载首先从官网下载对应操作系统版本的安装包 (windows 直接下载默认就好)。安装安装没有什么可以讲得,正常的软件安装流程。配置 (重点)因为作者用的是 win10 系统,所以下面以 win10 为例创建 mongod.config在安装目录的 bin 目录下创建一个名为 "mongod.config" 的文件,在里面输入:

2017-10-11 21:21:01 2616

原创 mysql 把表中某一列的内容合并为一行

1,把表中某一列的内容合并为一行SELECT province,CONCAT('[\"全部\",\"',GROUP_CONCAT(cityname ORDER BY cityid SEPARATOR '\"\,\"'),'\"]') as group1 from vrc_zgz_citys a LEFT JOIN vrc_zgz_provinces b on a.provinceid=b.

2017-07-20 17:07:12 484

原创 Java内存回收机制

深入理解 Java 垃圾回收机制一:垃圾回收机制的意义java  语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存; 内存泄露:指该内存空间使用

2017-07-20 17:07:07 361

原创 Nginx安装教程

1 nginx安装环境         nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 gcc         安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++  PCRE         PCRE(Perl Compatible Regular

2017-07-20 17:07:02 192

原创 微信支付开发教程

主要代码如下:GlobalConfig.java 1 public class GlobalConfig { 2 3 public GlobalConfig() { 4 } 5 6 public static final String APPID = ""; 7 public static final String APPSECRET = ""

2017-07-20 17:06:57 438

原创 cxselect联动下拉菜单 所需数据格式封住

具体前端就看:http://code.ciaoca.com/jquery/cxSelect/后台数据封装代码//查询区 List areaPO = addressExtendDao.getAreaPO(); //查询市 List citysPO = addressExtendDao.getCitysPO(); //查询省

2017-07-20 17:06:52 385

原创 mysql Host 'XXX' is not allowed to connect to this MySQL server 解决方案

在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,然后cd 进入MySQL 的 bin 目录下(可以不用进入bin目录本在在这里已经实验),然后输入下面的命令。        > MySQL -uroot -p123456                 (123456 为 root 用户的密码。)如何开启MySQL的远程帐号-2)创建远程登陆用户并授权        >

2017-07-20 17:06:47 281

原创 IOSIAP二次验证

直接上代码 1 import com.alibaba.fastjson.JSONObject; 2 import java.io.BufferedReader; 3 import java.io.InputStreamReader; 4 import java.io.PrintStream; 5 import java.net.URL; 6 import javax.net.ssl.

2017-07-20 17:06:42 590

原创 java 实现邮件发送

1.下载一个mail.jar架包http://download.csdn.net/detail/woainimax/97487442.AnnexMailService.javaimport java.util.Properties;import javax.activation.DataHandler;import javax.activation.DataSource;impor

2017-07-20 17:06:39 493

原创 Java 导出excel表 POI

1.首先下载poi-3.6-20091214.jar,下载地址如下:http://download.csdn.net/detail/evangel_z/38950511.建立一个实体类 1 import java.util.Date; 2 3 public class Student 4 { 5 private int id; 6 priva

2017-07-20 17:06:36 210

原创 Json 串中的转义字符解析

一:解析普通json 1:不带转化字符 格式{"type":"ONLINE_SHIPS","message":{"currentTime":1400077615368,"direction":0,"id":1,"latitude":29.5506,"longitude":106.6466}} JSONObject jsonObject = new JSONObjec

2017-07-20 17:06:33 2076

noggit-0.7.jar

Exception in thread "main" java.lang.NoClassDefFoundError: org/noggit/CharArr 缺少noggit-0.5.jar

2017-04-14

mmseg4j.zip

亲自测试过没有问题,solr5.3.1中可以直接使用。其中data为分词文件。

2017-04-14

mail jar包

mail jar包,用java实现邮件发送,很小的一个jar包

2017-02-07

大图淡入淡出图片幻灯演示效果

大图淡入淡出图片幻灯演示效果,提高你的开发效率

2015-08-27

空空如也

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

TA关注的人

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