- 博客(48)
- 资源 (18)
- 收藏
- 关注
原创 数据库探测器
前言 年前的一些产品有对数据库(mysql、oracle、odps、elasticsearch。。。)进行结构探测以及相关的一些基本信息抓取,多个项目中都有牵涉到,一些功能也类似于navicat这样的软件功能,但该探测器更多的是代码层面,适用于一些对多种数据源进行管理的项目。代码地址https://github.com/ChenBoEason/detector由于个人工作时间原因,博客...
2020-05-05 22:51:05
971
原创 压测工具
最近公司测试同学想要对rpc(dubbo)服务进行压测,通过之前使用过集团(淘宝)压测工具stresstest对其进行了一定的改造使用,目前已改造出最简单版本 https://github.com/ChenBoEason/stress-tool ,对此感兴趣的同学可以拉取下来使用,也可以自己改造出自己适合使用的代码。使用过淘宝的stresstest的同学其实看这个会发现很相同,并没有啥多大区别,我...
2019-02-25 21:45:15
483
转载 Tomcat日记——四张图带你了解Tomcat系统架构
本文转自https://blog.csdn.net/xlgen157387/article/details/79006434俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深...
2018-10-08 21:49:51
287
转载 架构师日记——消息队列技术点梳理(思维导图版)
本文转自neoremind.com。消息队列作为服务/应用之间的通信中间件,可以起到业务耦合、广播消息、保证最终一致性以及错峰流控(克服短板瓶颈)等作用。本文不打算详细深入讲解消息队列,而是体系化的梳理消息队列可能涉及的技术点,起到提纲挈领的作用,构造一个宏观的概念,使用思维导图梳理。 再介绍之前,先简短比较下RPC和消息队列。RPC大多属于请求-应答模式,也包括越来越多响应式范式...
2018-10-08 21:48:52
413
转载 架构师日记——Kafka、RabbitMQ、RocketMQ等消息中间件的对比
原文:http://jm.taobao.org/2016/04/01/kafka-vs-rabbitmq-vs-rocketmq-message-send-performance/?utm_source=tuicool&utm_medium=referral 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间我们自家...
2018-10-08 21:23:58
509
原创 Springboot2.0.4集成SnakerFlow2.4.0版本(mybaits实现)
SnakerFlow是一款类似于Activiti和BPMN的流程引擎,2014年已停更了,但并不影响使用。建议使用2.4.0版本别问我为什么,可以分别看看他们的源码就明白了。最近公司需要使用该流程插件,所以就去研究了一下首先在pom文件中引入Snaker的三个主要的依赖还有一个定时任务的依赖根据需求加<dependency> <groupId...
2018-08-13 16:37:25
9748
21
转载 Java AQS
一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。 以下是本文的目录大纲:概述框架...
2018-05-17 14:04:03
259
转载 面试解析
如背景中介绍,作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向。在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点。主要包括以下几个部分:Java 基础知识点Java 常见集合高并发编程(JUC 包)JVM 内存管理Java 8 知识点网络协议相关数据库相关MVC 框架相关大数据相关Linux 命令相关面试,是大家从学校走向社会的第一步。互联网公司的校园招聘,从形式上说...
2018-05-17 09:10:47
347
原创 1969Pie 二分法JAVA
import java.util.Arrays;import java.util.Scanner;public class Main { static int n; //多少个蛋糕 static int per; //多少人 static double arr[]; static double pi = Math.acos(-1.0); static int count; p...
2018-03-27 20:44:13
188
原创 HDU1241油田
static int n; static int m; static char str[][] = new char[101][101]; static int count; public static void main(String[] args) { Scanner cin = new Scanner(System.in); while(cin.hasNextInt()){...
2018-03-27 17:22:28
375
原创 HDU1016 素数环
A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime.Note: the number of fi...
2018-03-27 14:06:09
280
原创 springmvc登陆拦截器设计
每一个系统的拦截器设计存在着大同小异每个拦截器都是根据自己系统的需求来设计的根据我的系统设计出对应的拦截器,其中出现了五种用户其中包括管理员因此拦截他们未登录是与其他设计不同的 下面展示的代码是基于springmvc的登陆拦截器代码//根据系统设计加入不拦截的URI private static final String [] IGNORE_URI = {"index","/admin/tolo...
2018-02-27 16:16:30
353
原创 登陆注册中的密码加密
作为一个程序开发人员大家都知道当我们进行注册或登陆时如果我们的密码直接通过post请求或get请求都是明文传送的,通F12可以看见传输的信息,在网络传输过程中也是明文传输,所以在登陆注册设计的时候我们常常使用加密技术进行密码加密,然而现在大多的MD5单次加密是可以知道明文的 因为网上有一个资源库,所以我们需要进行混合式加密这样提高被破解的可能性,在我的项目中我才用了混合式加密,操作简单代码也想当简
2018-01-26 18:19:41
699
原创 基于spring+springMVC+mybaitis的maven项目搭建
首先创建一个maven项目选择web类型的创建成功后,首先在pom文件中引入架包,再进行配置文件的配置 创建applicationContext.xml(spring)文件以及springmvc-servlet.xml(springmvc)和SqlMapConfig.xml在对其进行如下配置根据个人要求进行配置首先我是applicationContext.xml文件<bean
2018-01-26 18:10:23
270
原创 HDU1017Java
public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int T = cin.nextInt(); while(T-- > 0){ int num = 0; int n = cin.nextInt(); int m =
2017-11-18 22:05:30
344
原创 线性时间选择排序
快速排序的最佳状态是带有线性选择排序的 这样减少了时间复杂度提高了效率package com.cb.suanfa;import java.util.Random;import java.util.Scanner; public class Main { public static void main(String[] args) { int [] arr = new in
2017-11-02 16:22:04
744
原创 springboot初体验
当大家学了很多spring的技术之后会发现它有一个框架叫做springboot这个框架让大家眼前一新 感觉之前的前端控制器框架都没这个简单 这个框架就是颠覆Java程序员的思维有一本书叫做springboot实战写的不错大家可以买来看看接下来我给大家展示一下入门springboot项目hello首先我们创建一个maven项目,点开pom.xml在里面进行配置如下就可以实现一个简单的hello页
2017-11-01 23:11:06
303
原创 配置activiti工作流
activiti工作流在日常项目中应用很是广泛 通过工作流来管理流程让项目流程更加便于操作设计好工作流程图后我们需要在项目中配置好对应的配置文件,可以在spring配置文件中配置也可以单独配置再引入spring配置文件中下面我会将两种方式都展现出来工作流程图需要在eclipse里安装插件 在我的博客中有activiti工作流的插件 但是需要1个下载币 第一种 在单独的配置文件中配置
2017-10-30 16:52:04
921
原创 通过webservice发布静态页面
要想通过webservice发布静态化页面也就是freemaker 首先你要有一个模板页面其次你得写一个服务端实现类和接口public class EbWSItemServiceImpl implements EbWSItemService { @Autowired private IEbItemDao itemDao; public String publishItem(Long it
2017-10-29 20:26:29
1588
原创 电商项目关于购物车的实现
购物车的实现有两张比较常见的方式:第一种: 就像某宝购物车一样是存入数据库第二种:就像某东一样存入cookie 我今天所实现的是存入cookie中,原因是这种更提高系统的效率 不需要与数据库交互太多,太多的交互会导致效率变慢,占用数据库空间首先我会附上自己的前端页面代码第一个是商品详细列表部分页面代码不要拷贝去运行因为这是一个项目有很多关联的东西 移 动 价:
2017-10-25 21:47:58
17723
原创 javax.xml.ws.WebServiceException
webservice中报错javax.xml.ws.WebServiceException: The following WSDL exception occurred: WSDLException: faultCode=WSDL4JWrapper : : javax.wsdl.WSDLException: WSDLException: faultCode=WSDL4JWrapper : : ja
2017-10-25 21:38:11
7217
原创 MD5加密器
登录验证注册用户我们都会将密码进行加密比较常见的加密有MD5加密,MD5加密是web中比较常见的一种加密,一般项目中进行加密都会采用多次加密,避免网上一些网站解密MD5的明文 今天我给大家提供一段Java中MD5加密的代码可根据自己的需求进行修改import java.security.NoSuchAlgorithmException;public class EncryptionByM
2017-10-24 20:56:34
350
原创 jsp页面动态生成验证码
在web项目中登录验证一般采用验证码验证,根据个人需求将生成验证码代码放到不同的的地方,可以放到前段控制器中通过请求方式生成验证码,也可已将代码放到一个JSP页面通过应用JSP页面生成验证码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>In
2017-10-24 20:49:28
3441
原创 springmvc登录拦截器的实现
首先创建一个类继承HandlerInterceptor实现如下代码 根据个人放入session中的属性名不同而取值public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { TsPtlUser user =
2017-10-18 19:51:17
1846
原创 BOS系统的设计与实现
bos系统开发工具为eclipse Mars版本 Tomcat7 以及jdk1.7 数据库采用mysql框架采用经典的ssh框架 可结合我之前的文章观看相关的配置文件
2017-10-07 12:40:08
981
原创 自定义struts2拦截器
首先我们需要定义 一个拦截器里面实现的代码很少 主要在strts.xml文件配置里protected String doIntercept(ActionInvocation invocation) throws Exception { User user = (User) ServletActionContext.getRequest().getSession().getAttribu
2017-08-16 11:44:48
341
原创 BaseDao的实现与使用
对于BaseDao 大家可能还不是很了解 我这样解释 你做一个项目无非就是对数据的增删查改,假设一个CRM系统你有很多部门啊之类的模块 持久层的代码相似度达到百分之八十左右 不同的是你的类名和PO类(也就是domain里的类) 那我们把它抽取出来共同使用首先我们需要创建一个接口 除了表现层的类不要接口其他劲量写一个接口 先看代码 下面解释接口public interface
2017-08-15 22:41:09
6332
原创 ssh基于注解开发 配置文件讲解
首先我们应该确定架包版本 开发软件的版本 由我的经验我给出的介意为 eclipse Mars + Tomcat7 +JDK1.7原因在于Tomcat8有一个小bug eclipse NEON 只能使用jdk1.8以上版本接下来我们应该最先配置web.xml文件的东西 第一个为解决中文乱码问题 该配置能解决大部分乱码问题例如:在URL后加上name=张三&sex=男就不能解决 此
2017-08-15 22:17:43
1292
原创 关于springmvc接收前端日期类参数
方式一:当我们从数据库获取数据显示到页面时传过去的数据类型是date (yyyy-MM-dd HH:mm:ss叫TimeStamp类型) 当页面通过JSTL标签库中的 "/>将时间显示为与数据库一样 但是当前台传值到后台时 都是以string类型传回去的但是id可以使integer类型也可以直接封装 这个问题我没看过源码可能讲的有错(request请求体中)
2017-08-04 17:14:26
4214
2
原创 springmvc spring mybatis 文件上传
Java代码 改代码借鉴其他博客的代码 大同小异 如果你在显示图片时报错误 错误在Client client = Client.create()这句话本没有错 报错原因是因为我的jdk是1.8 而jery架包的版本是1.18.1之后换成1.18.2 就不再报错此代码你可以划分为几大部分 第一步 从请求体request中把相应的文件获取到 第二步 为了避免名称重复采用
2017-08-04 16:43:08
543
原创 js事件
js的事件事件事件源响应行为1、js的常用事件onclick:点击事件onchange:域内容被改变的事件需求:实现二级联动北京天津上海海淀朝阳东城var select = document.getElementById("city");select.onchange = function(){var option
2017-06-29 21:09:24
261
原创 ssh文件下载与上传细节
* 文件上传 * @return */ private File schedule; private String scheduleFileName; private String scheduleContentType; @InputConfig(resultName="uploadInput") public
2017-06-29 20:31:20
1944
1
原创 ssh文件下载与上传细节
struts2 部分代码 /** * 文件上传 * @return */ private File schedule; private String scheduleFileName; private String scheduleContentType; @InputConfig(resultName="uploadInput") public String uploa
2017-06-25 20:59:46
522
原创 动态显示页面+查询
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>无标题文档 [课程类别]
2017-06-24 19:39:42
781
原创 HDU2064
第一个代码与第二个代码同样能过 大概意思也一样只是思路不一样第一个思路为f(n) = 3*f(n-1) + 2第二道题为3*a-1可以自己思考一下这个过程
2016-10-29 20:56:10
429
原创 UVA1583
#include #include #define maxn 100005int ans[maxn];int main(){ int N; scanf("%d",&N); memset(ans,0,sizeof(ans)); //将数组初始化 for (int i=1; i<maxn; i++){ int x =i; int y =i; while(x>0){
2016-10-29 20:34:09
286
原创 HDU2064
本题是一道思维型很强的题,先看1你要移到中间再移到右边为2 当你输入2时1为中右2再中1在中再左2再y右1再中右一共八步,当你为三时你可自己试试 你就会发现这个规律#include int main(){ int n; long long int a=1,ans[36]={0,3}; for(n=1;n<36;n++) { a=3*a; ans[n]=a
2016-10-29 20:17:13
414
原创 HDU2020
本题是很简单的一道题不需要什么算法只需要知道abs来判断 如果是float就用fabs#include #include #includeusing namespace std;int main(){ int n; int a[110]; while(cin>>n&&n){ int i,j,t; for(i=0; i<n; i++) cin>>a[i]; for(
2016-10-29 19:43:29
319
原创 HDU2018
本题重要的是分析你会发现有规律1 2 3 4 6 9 13 19 28 41 60 88 129 189 你会发现你所输入的数的左边开始数第一个和第三个数相加就为该答案 同时也需要画图才能分析得到答案#include int main(){ int ans[57]={1,1,2,3},n,i; for(i=4;i<56;i++) {
2016-10-29 19:39:01
362
原创 openJ_Bailian2707
#include #include #include #include //本题公式x = (-b + sqrt(b*b-4*a*c))/(2*a) using namespace std;int main(){ int n; cin>>n; while(n--) { double a, b, c; double dt,
2016-10-29 19:26:25
607
VlidateCode
2017-03-05
commons-beanutils-1.8.3
2017-03-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人