自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 rabbitmq消息队列设置过期时间和过期消息处理

rabbitmq消息队列设置过期时间和过期消息处理适用场景电商秒杀抢购活动中处理用户下单和付款时间不一致,设置过期时间,过期则不允许付款参考 https://blog.csdn.net/zhu_tianwei/article/details/53563311代码块 生产者public class Producer { private stati...

2018-03-31 16:23:33 18321

原创 Connection closed by foreign host原因ip冲突及解决办法

使用xshell连接centos时总自动断开,按网上的修改探寻报文周期方法试了,也没用,突然发现换了一个无线网后,竟然不会断开了,于是猜想是不是ip冲突导致,而且报错信息也提示连接被客户机关闭先连接会自动断开的无线网==》ipconfig==》192.168.1.104虚拟机给centos分配的ip连接不会自动断开的无线网显然一个路由器dhcp地址池是在192.16

2018-01-24 17:14:12 201367

原创 一般方式和ajax方式从后台获取数据加载进网页

1,普通方法无非就是先访问相应servlet拿到数据,存到request域中,跳转到jsp页面,通过jsp标签遍历拿到数据,前面的文章提到了点击打开链接。2,通过ajax获取后台信息拿购物网站为例,购物网站的导航栏是通用的,一般都是独立的jsp页面。新建一个head.jsp页面,由于是被包含,所以不用加入jquery插件,通过ajax异步访问后台,后台拿到数据库的数据是List集合

2017-11-25 17:29:41 7388

原创 Server Tomcat v9.0 Server at localhost failed to start.误删文件导致启动失败

Server Tomcat v9.0 Server at localhost failed to start.

2017-11-07 10:36:17 11853

原创 全排列的非递归解法

题目:找到12345的全排列所有结果。思路:所有的全排列组成的数字中,12345最小,54321最大。算法本质是找到给定数字m1的下一个数字m2,m2是所有全排列组成的数字集合中大于m1的数字组成的集合的最小值。比如12345下一位是12354。1,从右往左找到非升序的第一位数例如12543中543是升序,2就是要找的数字。2,找到升序部分最小的数字,交换第一步中的543中最小值为3,2...

2019-01-29 19:31:40 485 1

原创 ThreadLocal原理解析

涉及到三个实体类ThreadLocalThreadThreadLocalMap获取到了ThreadLocalMapThread+ThreadLocal=变量变量ThreadThreadLocal//ThreadLocalMap是ThreadLocal的内部类ThreadLocalMap{ //类似于HashMap,键值分别是ThreadLocal、对应的值 Entry&lt...

2018-12-02 21:50:06 190

原创 jdk源码分析(2)java.lang.String源码分析

ff

2018-11-30 21:33:07 256

原创 jdk源码分析(1)java.lang.Object

java.lang.Objectpublic final native Class<?> getClass()public native int hashCode();public boolean equals(Object obj)hashCode() 和 equals()public final native Class<?> getClass()官方文档解释返...

2018-11-30 11:49:22 235

原创 System.arraycopy实现删除元素

使用System.arraycopy,参数中目标数组和原数组置为同一个,可以实现删除元素(实际上还是数组的拷贝)public class TestSystemArrayCopy<T> { public static void main(String[] args) { TestSystemArrayCopy<Integer> t = new ...

2018-11-18 17:18:01 725

原创 java如何实现自定义锁

不可重入锁public class MyLock implements Lock { private boolean isLocked = false; @Override public synchronized void lock() { while (isLocked){ try { wait(...

2018-11-07 13:30:58 1555 1

原创 JDK原子类原理

获取当前值 cur操作后得到的新值 next判断是否符合预期 cas(cur,next),cas底层是JNI调用CPU指令,功能类似于if (this == except) this = update;而cas底层使用CPU锁保证==和=操作是原子操作如果不是符合预期,则回到1步骤...

2018-11-07 10:36:42 136

原创 java类加载器

Java中的类加载器JDK核心类库(jre/lib下的rt.jar等)加载器 Bootstrap ClassLoader(c++实现)扩展类库(jre/lib/ext下的jar包)加载器Extend ClassLoader应用程序加载器(自己指定classpath以及Mainclass)App ClassLoader自定义加载器(自己去某位置找jar,class),示例如下...

2018-11-06 22:24:40 127

原创 java内存泄漏和内存溢出

java内存泄漏和内存溢出概念a)内存泄露:被分配对象可达但无用b)内存溢出:无法申请到足够的内存而产生的错误内存泄漏场景a)创建和应用生命周期一样的单例对象b)创建匿名内部类的静态对象c)未关闭资源d)长时间存在的集合容器中创建生命周期短的对象e)修改hashset中的值,因此改变了该对象的哈希值内存溢出场景a)堆内存溢出b)方法区内存溢出(反射,静态变量)c)线程栈...

2018-09-28 23:05:51 4212 1

原创 hanlp用法中文智能分词自动识别文字提取

需求:客户给销售员自己的个人信息,销售帮助客户下单,此过程需要销售人员手动复制粘贴收获地址,电话,姓名等等,一个智能的分词系统可以让销售人员一键识别以上各种信息经过调研,找到了一下开源项目1、word 分词器 2、ansj 分词器 3、mmseg4j 分词器 4、ik-analyzer 分词器 5、jcseg 分词器 6、fudannlp 分词器 7、smartcn 分词器 ...

2018-04-22 17:33:52 4280 1

原创 java socket多线程实现聊天室

java socket多线程实现聊天室代码放在我的GitHub上点击查看版本1,一对一,收发有顺序/** * @Author: Hzw * @Time: 2018/4/19 11:38 * @Description: 聊天室客户端V1.0,双向通信,客户端发送后服务端才可以发送,客户端发送前服务器发送的话, * 消息存储在缓冲区中,等待客户端发送消息后,缓冲区的消息才会...

2018-04-19 16:09:02 2905 7

原创 此图片来自微信平台,未经允许不可引用,破解防止盗取链接的解决方案

解决微信图片禁止引用的方案网上许多方法试了,都没用,最终找到了解决方案,通过js,iframe,方法分享给大家<script type="text/javascript"> function showImg(url) { var frameid = 'frameimg' + Math.random(); console.debug...

2018-04-11 23:57:45 3194

原创 linux推荐博客

day12:进程管理常用命令day12:计划任务,周期性任务day13:centos6启动流程day13:centos6启动流程(2)day13:centos6启动流程(3)day13:grub的使用day13:grub使用和内核编译安装day14:Systemedday15:sedday16:systemd之unitday16:数组,字符串的处理day17:awkday18:DNS和bindda...

2018-03-31 16:25:40 247

原创 java实现spark算子combineByKey

/** * createCombiner: combineByKey() 会遍历分区中的所有元素,因此每个元素的键要么还没有遇到过,要么就 和之前的某个元素的键相同。如果这是一个新的元素, combineByKey() 会使用一个叫作 createCombiner() 的函数来创建 那个键对应的累加器的初始值 mergeValue: 如果这是一个在处理当前分区之前已经遇到的

2018-03-24 17:32:51 496

原创 java,spark实现黑名单过滤

/** * java,spark实现黑名单过滤 */public class BlackListFilter { public static void main(String[] args){ SparkConf conf = new SparkConf().setAppName("Simple Application").setMaster("local[2]")...

2018-03-24 15:03:50 1259

原创 java实现kafka整合spark streaming完成wordCount,updateStateByKey完成实时状态更新

引入依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.11</artifactId> <version>${spark.version}</version...

2018-03-23 14:22:30 330

原创 分布式日志收集框架flume实战

实战一:从指定网络端口采集数据输出到控制台flume框架架构Source:指定数据源,有NetCat TCP(项目用到),kafka,JMS,Avro,Syslog等等Channel:数据管道,有Kafka,Memory,File等等Sink:日志数据存放,有Avro,HBase,Hive,Kafka,ElectricSearch,HTTP等等快速入门配置a1.sources = r1a1.si...

2018-03-19 22:59:00 287

原创 hadoop分布式集群搭建

准备工作Masterhadoop1slaveshadoop2, hadoop3创建hadoop用户并赋予其root权限/etc/hostshadoop1 iphadoop2 iphadoop3 ip1,主机间ssh免密码登录hadoop1>>ssh-genkey -t rsahadoop2>>ssh-genkey -t rsaha

2018-03-18 22:23:13 144

原创 将对象缓存到redis中

1,java配置redis客户端public class RedisClient implements Serializable{ private Jedis jedis; private JedisPool jedisPool; ShardedJedis shardedJedis; private ShardedJedisPool shardedJedisPoo...

2018-03-09 12:00:03 3469

原创 spring boot 实战

获取路径中的参数使用jsp页面    1,spring boot默认不支持jsp,需导入依赖        2,配置前缀后缀,根是main下的webapp,没有的话需创建        3,修改RestController为Controller或去除ResponseBody,controller层返回的字符串加上前后缀就是jsp文件全路径给jsp页面传递数据    1,传递Model对象,类似域对...

2018-03-07 00:03:55 119

原创 spring boot事件监听

事件监听示例    1,自定义事件,一般是继承ApplicationEvent抽象类        2,定义事件监听器,一般是实现ApplicationListener接口         3,配置监听器,发布事件        4,配置监听器的方法        (1),如上        (2),加入spring容器                (3),使用context.listener....

2018-03-06 20:10:44 729

原创 spring boot原理详解

两种方法创建spring boot入门程序SpringBootApplication注解包括了SpringBootConfiguration,而其又包含Spring中的Configure注解,所以可以在类中直接添加Bean到容器中第二种方法如下两种获取配置方法及原理1,直接使用Environment的getProperties获取配置文件中的属性原理:获取Environment对象,将其注入到自定...

2018-03-04 10:19:53 828

原创 Spring原理分析

一,注解创建对象1,创建bean类2,创建配置类3,获取bean实例(3中方法)4,单例与多例由图可知获取的两个bean是同一个对象,为单例,要获取不同对象,要对配置类进行多例配置运行后为不同对象二,init方法,destroy方法第一种方法第二种方法,自定义第三种三,Component组件装配,repository,service,controller层装配四种类型原理一样,只是后三种为了区分d...

2018-03-01 15:06:09 287

原创 二进制安装mariadb

CentOS 6:通用二进制格式安装过程(1) 准备数据目录以/mydata/data为例;(2) 配置mariadb#添加用户,组# groupadd -r -g 306 mysql# useradd -r -g 306 -u 306 mysql#解压至安装软件的指定目录/usr/local# tar xf mariadb-VERSION.tar.xz -C

2018-01-09 23:20:25 285

原创 使用jdbctemplate操作数据库由编码引起的报错

用数字替换操作的中文,没有报错,必定是乱码引起的通常做法是往url后加参数?characterEncoding=UTF-8继续报错,原来忽略了操作的参数也是由查找数据库得来的,此字符串也乱码了解决方法:String newStr = new String(oldStr.getBytes(), "UTF-8");

2018-01-07 14:13:59 1400

原创 idea上使用maven分模块开发时解决spring注入失败问题java.lang.IllegalStateException: Failed to load ApplicationContext

使用maven分模块开发时,将项目分成三次dao(bean),service,web,其中dao层包含了bean和applicationContext,hibernate配置文件,service层依赖dao,也包含了spring配置文件(spring管理三层,所以都需要spring配置文件)。首先配置号dao层,install发布到本地仓库,此时dao是jar格式,service引入dao.j

2017-12-27 23:44:48 2555

原创 hibernate详细脑图

分享一个很详细的hibernate脑图,几乎涵盖了所有知识点,适合复习查阅,还附了图片代码,制作者很走心,分享在我网盘上https://pan.baidu.com/s/1c2IZ6Nm

2017-12-02 01:36:03 485

原创 解决boot分区空间不足

在使用yum update升级过内核后,系统突然报告boot磁盘空间不足,要是嫌扩展分区麻烦的话,可以直接删除旧的内核。1.查询系统内核rpm -q kernel2.查询当前内核uname -a可以看到内核的版本和更新的日期等信息 3.删除当前内核以外所有的内核命令:rpm -e '内核版本号'例子:rpm

2017-12-01 00:01:27 946

原创 linux小技巧

1,显示指定行数比如要显示一个文件的5-10行,head -n 10 取前十行tail -n 5 取倒数后五行结合使用,取5-10行   cat /etc/passwd | head -n 10 | tail -n 52,编写判断文件行数的脚本#!/bin/bashcount="$(wc -l $1|cut -d' ' -f1)"echo "$1 has $

2017-11-30 00:06:07 196

原创 使用dbUtil多表查询获取的数据涉及多个对象时的封装

我们使用dbUtil查询数据库时,一般是单表查询,封装数据都是单个对象,可以直接封装,当碰到更复杂的数据,比如从一个sql语句同时查询商品信息和客户信息封装到一个订单的对象中,订单对象中的属性如果是商品的属性,字段可以和查询数据库返回的数据的字段一一对应,那么直接封装没问题,点击查看一般方法但是如果商品对象作为订单的成员变量的话,直接封装时属于商品的属性找不到对应字段导致封装失败,此时可用以下方法

2017-11-27 18:40:07 4770

原创 往数据库添加数据后乱码

使用jdbc往数据库添加数据,没有io流读写的步骤的话,在控制台打印数据,确认获取的数据没有乱码的情况下,最后一个环节就是数据库本身的编码不是utf-8,一行代码完美解决jdbc:mysql:///store?characterEncoding=UTF-8

2017-11-26 17:58:35 920

原创 BeanUtils将map直接封装到对象中

需求是要将表单提交的数据封装到一个对象中对象orderpublic class Order { private String oId; private Date orderTime; private double total; private int state; private String address; pri

2017-11-26 17:15:48 7866

原创 servlet代码的抽取

一个web项目通常有很多servlet,不便于管理,所以可以通过抽取代码,再分层,方便管理第一种方法:将servlet文件抽取到了一个类中,一个servlet变成一个方法,通过参数调用相应的方法,与商品有关的servlet放到一起public class PrdocutServlet extends HttpServlet {public void doGet(HttpServ

2017-11-26 08:49:35 433

原创 浏览历史记录通用代码

1,从商品列表点进商品详情:会访问productInfo这个servlet,productInfoServlet将浏览的商品的id存进cookieString pid=request.getParameter("pid"); //获取商品idString pids = pid;Cookie[] cookies = request.getCookies(); if(

2017-11-25 23:06:21 1545

原创 servlet访问首页前的工作

在访问一个web项目主页前,通常不直接跳转到主页,在这之前要做一系列工作,比如一个购物网站,需要先拿到热门,最新的商品,再跳转到首页显示,具体步骤是1,配置web.xmlheimaStore default.jsp 这是欢迎页面,就是通过项目名直接访问的页面,display-name是项目名2,新建default.jsppage contentType=

2017-11-25 11:36:47 1135

原创 jquery表单校验插件

表单校验插件导入插件的步骤:(1) 将jquery的原始文件和插件文件jquery.validate.js导入到工程中(2) 编写js代码对表单进行验证表单验证的格式:$("form表单的选择器").validate(json数据格式);  //键值对  键:值({})json数据格式:"{      rules:{            表单项name

2017-11-24 21:20:19 330

空空如也

空空如也

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

TA关注的人

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