自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

持之以恒

旧时王谢堂前燕,飞入平常百姓家

原创 一次线上OOM(java.lang.OutOfMemoryError: GC overhead limit exceeded)

环境 16G运行内存,PostgreSql数据库 Java8默认收集器Parallel Scavenge, 即新生代 PS-Scavenge, 老年代 PS-MarkSweep(Parallel-Scavenge收集器架构中本身的老年代收集器,与Serial Old的实现非常接近) 原因 有...

2020-03-04 16:24:32 92 0

原创 Charset编码问题或者编码不一致等问题导致的中文乱码

环境:POST方法、Content-Type: application/x-www-form-urlencoded;charset=utf-8(key=val&key2=val2形式) 调用接口:commons-httpclient-3.1 服务接口:springboot-1.4....

2019-09-24 23:40:10 53 0

原创 通过分布式远程调用框架xxl-rpc的源码领会rpc实现思想

目前版本:1.4.2-SNAPSHOT 官网概述:XXL-RPC 是一个分布式服务框架,提供稳定高性能的RPC远程服务调用功能。拥有"高性能、分布式、注册中心、负载均衡、服务治理"等特性。现已开放源代码,开箱即用。 一、rpc框架一般会提供的功能 1、服务提供端(Prov...

2019-09-05 08:18:54 66 0

原创 通过xxl-registry源码领会分布式注册中心实现思想

官网概述:XXL-REGISTRY 是一个轻量级分布式服务注册中心,拥有"轻量级、秒级注册上线、多环境、跨语言、跨机房"等特性。现已开放源代码,开箱即用。 基本思路:注册中心的基本的功能一般包括服务注册(registry)、服务发现(discovery)、服务摘除(remov...

2019-09-02 23:32:43 99 0

原创 一台机器配置两个github账号、ERROR: Permission to user1/repo.git denied to user2问题

背景:网上关于一台机器配置两个github账号的博文已经很多了,所以本片文章不打算详细罗列配置信息;主要讲讲因粗心遇到的问题,帮助遇到相同问题的朋友快速定位并解决。 具体配置网上找了链接以供参考: https://blog.csdn.net/formularoom/article/detail...

2019-07-07 14:58:49 162 0

原创 Java签名验证、request body数据多次读取(request body数据用以签名时注意问题)、Content-Type

问题背景:最近对接第三方接口,出现了签名问题;起初接触的签名一般将url参数、请求头中的参数用以签名, 因此当遇到把body数据用以签名时走了一些弯路; 起初想法是 我这边将数据通过工具将对象转化为json字符串,对方通过框架将数据映射成实体对象,然后将实体对象转化为json,再取出url参数、请...

2019-07-06 23:14:26 921 0

原创 高并发流量限制-计数器&漏桶&令牌桶

背景:通常在高并发访问的情况下,会通过限流的手段来控制流量问题,以保证服务器处于正常压力下,一般对超过的部分不做处理,即丢弃。 限流的手段通常有计数器、漏桶、令牌桶。注意限流和限速(所有请求都会处理)的差别,视业务场景而定 1、计数器:在一段时间间隔内(时间窗),处理请求的最大数量固定,超过部...

2018-11-04 17:43:21 1801 1

原创 JAVA8 Lambda表达式 高级集合类&收集器

lambda表达式提供了很多的集合类和收集器来简化编程,使之更加方便和美观,所以这里介绍一些常用的集合类和收集器来处理繁杂的代码。 github的demo地址:https://github.com/BradenLei/lambda 1、方法引用:形如User::getName,TreeSet:...

2018-10-28 18:06:17 502 0

原创 Spring切面编程-使用AspectJ日志处理

1、背景:AspectJ作为AOP一大应用已经广为人知了,具体的应用场景也很多,如:日志处理、执行目标方法前做逻辑判断、事物控制等等;其实质大都是抽取出各类、方法中重复的、与业务逻辑无关的代码,形成一个切面(Aspect, 也就是一个类),在切面中定义切点(可以理解为将代码织入到那些 我从方法中提...

2018-10-21 17:19:50 168 0

原创 反射及利用反射复制对象的demo

反射是java编程的灵魂,在用反射之前有几个类需要了解:Class,Method,Feild,Constructor,在demo中演示这些类中比较常用的方法,然后用反射实现copy对象的封装类来说明反射的微妙。 1、常用方法: public class ReflectDemo { ...

2018-10-14 17:27:09 177 0

原创 JAVA8 核心函数式接口

1、java8提供的函数式接口基本能满足我们的任务开发 package com.dw; import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.List; im...

2018-10-07 09:03:54 1416 0

原创 生产者消费者模型

描述:共享变量池大小为5,生产者从池中放入一个物品,消费者从池中拿去一个物品。一:定义共享资源:public class PublicResources { private int count = 0; // max = 5 public void reduce() {...

2018-06-29 23:00:06 235 0

原创 线程间的协同(生成者/消费者模型)

线程间除了同步互斥使用共享代码块或者共享资源外,有时需要线程间的通信来控制共享信息。生产者/消费者模型就是很好的例子;提供一个资源池,生产者向里面生产资源、消费者负责消费;资源池满,生产者线程等待,消费者消费资源后调用特定方法唤醒生产者线程;反之,资源池为空,消费者线程等待,生产者向资源池生产资源...

2018-06-20 18:42:33 119 0

原创 模拟HashSet底层实现

GitHub源码地址(https://github.com/BradenLei/MyHashSet)1、基本概念:1)HashSet和HashMap唯一的不同之处在于,HashMap以键值对作为一个条目存储在散列表中,而HashSet则以元素的形式存储在散列表中;HashSet相当于HashMap...

2018-06-18 21:58:00 386 0

原创 模拟HashMap底层实现

1、概念:1)散列:使用一个散列函数,将一个键映射到一个索引上。2)散列函数:将键映射到散列表中的索引上的函数称为散列函数。3)冲突:当两个键映射到散列表中的同一个索引上,冲突发生a:使用开发地址法解决处理冲突(线性探测、二次探测法、再哈希法)b:使用链地址法处理冲突:将具有同样的散列索引的条目都...

2018-06-18 09:15:58 306 0

原创 模拟平衡二叉查找树底层实现(AVL)

1、基本概念及操作:1)平衡二叉查找树:在二叉查找树的基础上满足平衡因子为-1,0,1的树结构2)平衡因子:右子树的高度减去左子树的高度;-1表示左偏重,+1表示右偏重3)重新平衡数:从AVL树中插入或者删除一个元素后,如果树变得不平衡了,执行一次旋转操作来重新平衡该树,有四种方式:LL旋转、RR...

2018-06-17 16:44:15 105 0

原创 模拟二叉查找树底层实现

二叉查找树:当前结点的左子树所有结点值小于当前结点值,而右子树所有结点值都大于当前结点实现方法:search()、insert()、delete()、前中后序遍历等。其中delete过程稍稍复杂。接口:package binary; public interface Tree<E&...

2018-06-16 16:44:29 98 0

原创 堆、队列、优先队列底层实现

1、通过ArrayList实现大根堆:堆:有大根堆和小根堆,对于大根堆来说,其左右子元素比根元素小1)添加操作:首先将它添加到堆的末尾,然后按以下方式建树:将最后一个结点作为当前结点while(当前结点大于它的父节点){将当前结点和它的父结点交换;现在当前结点往上进一个层次;}2)删除操作:删除之...

2018-06-15 23:55:00 1505 0

原创 模拟栈的底层实现(用数组线性表实现)

由于栈只允许在栈顶进行插入与删除操作,所以用数组线性表来实现栈比用链表来实现效率更高:接口:package shixian; public interface MyStack<E> { /**返回栈的大小*/ public int size(); /**出...

2018-06-11 13:46:19 153 0

原创 模拟ArrayList、LinkedList底层实现

1、MyList接口:package shixian; public interface MyList<E> extends Iterable<E> { /**添加一个新元素在list末尾*/ public void add(E ...

2018-06-09 17:58:34 93 0

原创 泛型-通配泛型、消除泛型

一:通配泛型有三类:<?>非受限通配、<? extends T>受限通配 、<? super T>下限通配案例一:package fanxin; public class WildCardNeedDemo { ...

2018-05-27 08:36:44 367 0

转载 sudo apt-get install mysql-server 安装不上

1、问题:mysql安装不上,出现报错 mysql-server depends on mysql-server-5.5; however:  Package mysql-server-5.5 is not configured yet.dpkg: error processing mysql-s...

2018-05-26 16:14:27 3478 0

原创 泛型-泛型类、接口、方法

为什么要使用泛型?优点在哪里?使用java泛型的动机在编译时检测出错误。一、泛型方法可以为静态方法定义为泛型类型!1、非受限泛型:<T> 等价于受限泛型<T extends Object>public class GenericMethodD...

2018-05-25 12:37:39 538 0

原创 socket编程1(linux环境下)

描述:有服务端(server)客户端(client)程序,要求实现,服务端从文件中读取文件信息,一次读取10个字节,然后发送到客户端显示,每次读取之后睡眠1秒钟。server.c: /*server.c*/ #include <sys/types.h> #i...

2018-05-24 21:47:54 157 0

原创 2017蓝桥杯C语言B组(7日期问题)

标题:日期问题小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期...

2018-03-29 20:00:39 745 0

原创 hdu 1431素数回文

素数回文Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 21780    Accepted Submission(s): 5081Prob...

2018-03-28 13:34:46 308 0

原创 hihoCoder 1039字符消除(字符串处理)暴力

#1039 : 字符消除时间限制:1000ms单点时限:1000ms内存限制:256MB描述小Hi最近在玩一个字符消除游戏。给定一个只包含大写字母"ABC"的字符串s,消除过程是如下进行的:1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被同时消除,余下的子串拼成...

2018-03-27 17:30:34 86 0

原创 51Nod -1416 两点(dfs)

题目来源: CodeForces基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题福克斯在玩一款手机解迷游戏,这个游戏叫做”两点”。基础级别的时候是在一个n×m单元上玩的。像这样: 每一个单元有包含一个有色点。我们将用不同的大写字母来表示不同的颜色。这个游戏的关键是...

2018-03-26 11:09:25 80 0

原创 springMVC 三种国际化配置方式及No message found under code 'language.cn' for locale 'zh_CN'.异常

先说说异常的原因!!!着实令人头痛!不论是.xml配置文件还是.properties配置文件都检查了几次,而且都没有问题。偶然间在资料上注意到三种国际化配置,其请求都经过中央调度器DispatcherServlet,经url映射到controller处理后,将view返回给用户,视图中才能正确反映...

2018-03-09 15:55:20 4531 0

原创 css 知识点

一、      选择器:p:first-letter{  /*伪元素*/  font-size: 50px   } div:first-line{ background-color:red; } input:checked{  /*伪类选择器*/  width: 200px;  height: 2...

2018-03-08 21:31:27 121 0

原创 ssh项目开发总结

一:Hibernate、HibernateTemplate1、        Hibernate 的 save返回值 类型为 Serializable接口,该结果的值就是你插入到数据库后新记录的主键值。如果你的主键是数值,可以按如下方法:Serializable result =this.getS...

2018-03-08 21:20:53 810 0

原创 jQuery -- 基础

什么是Jquery:是一个javascript库(主旨-用更少的代码实现更多的功能)1、中文API在线查阅 http://t.mb5u.com/jquery/     英文API在线查询 :http://api.jquery.com/一、 1、代码风格:不管是内置函数还是页面元素都是以美元符号$开...

2018-03-05 20:33:39 73 0

原创 SSM 框架搭建

1、web.xml:<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...

2018-03-04 21:37:50 82 0

原创 nyoj 33 蛇形填数

蛇形填数时间限制:3000 ms  |  内存限制:65535 KB难度:3描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方陈的维数,即n的值。(n<=100)输出输出...

2018-02-12 16:57:12 98 0

转载 struts2令牌(token)内部原理

原文出处:https://www.cnblogs.com/iyangyuan/archive/2013/05/05/3060488.html    小菜最近接触了struts2中的令牌知识,由于该知识点比较重要,因此想弄明白些,于是满怀信心的上网查阅资料,结果让小菜很无奈,网上的资料千篇一律,总结...

2018-02-09 19:47:12 92 0

原创 Mybatis 使用分页插件pageHelper、JSqlParser

由于编写分页查询业务繁琐,自己编写分页查询语句不仅使得页面代码冗余,而且开发效率低下,因此mybatis中可以借助分页插件进行分页查询的编程,提高编程效率。 下载插件:pageHelper.x.x.x.jar 和 JSqlParser.x.x.x.jar包 http://www.github....

2018-02-07 18:20:02 1388 0

原创 Mybatis 一级缓存、二级缓存机制

为什么需要缓存机制?为提高数据库检索效率而设计缓存机制,针对相同的sql查询,在一级或二级缓存作用范围内,只需从缓存中拿取数据即可,而无需从数据库中检索数据。缓存是运行内存中的一段内存,而数据库位于硬盘上,从I/O读取数据的速度上来看,从内存读取数据远快于从硬盘上读取,加之从数据库中检索数据的花销...

2018-02-06 21:15:58 131 0

原创 Mybatis 动态SQL

copy一段: MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 ...

2018-02-06 16:32:26 89 0

原创 Mybatis 注解关联 (一对多、多对一)

Mybatis中的一对多、多对一关联关系可以通过xml文档配置,也可以通过annotation注解配置: 以student(多)和school(一)为例: config.xml: SchoolMapper.java: package com.dw....

2018-02-05 22:52:29 1568 0

原创 Mybatis 一对多关联

一对多关联有两种方法检索:一对多联合查询、一对多分组查询 以school(一)和student(多)为例: config.xml: <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//E...

2018-02-05 12:00:27 144 0

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