- 博客(134)
- 资源 (11)
- 收藏
- 关注

原创 秒杀高并发优化分析
秒杀的高并发问题在哪里?业务分析红色部分是有可能发生高并发的地方,我们来一一分析一、详情页通过用户大量的刷新,一些静态资源需要加载,这个耗费IO时间。优化方案:使用CDN缓存CDN(内容分发网络)可以加速用户获取数据;部署在离用户最近的网络节点上;命中CDN不需要方法后端服务器;互联网公司可以自己搭建或租用。二、系统时间不用优化,因为访问一次内(
2017-08-17 10:39:24
1116
11

原创 GHGL项目-RSA加解密导致内存泄漏
描述:JVM最大堆内存是默认(即32G),在做登录压测的时候,在到200并发的时候,tomcat崩了,查看日志的时候发现堆内存竟然满值,总有那么一些值不能释放,查询哪些类没有被释放,发现没有被释放的,见下图: 是java.util.HashTablesEntry和java.security.Provider.ServiceKey这两个类竟然占用了80%左右内存,一眼就看出了是加解密的问
2017-08-12 08:18:55
1924
11
原创 web篇(一)过滤器、拦截器、监听器
项目中之前也都用过这些东西,现在写出来,一是记录在项目中的使用,二是全面认识一下三大利器。思来想去,我认为这三大利器总的目的是为了解耦,让代码更加简洁可读,所以问题来了,它是怎样实现的呢?这种方式是不是我也可以用到我自己编码的过程中呢?这都要自己一点点去探索,可能这篇不能马上解决这个问题,但在后续的文章会慢慢解读。目录一、过滤器和拦截器的区别二、监听器三、使用场景四、总结 ...
2019-11-10 10:57:45
1579
原创 GHGL项目最后总结
技术上:1、对ssm框架更加熟悉。2、通过报文转账中,对网络编程代码更加熟悉。3、通过对CA接口的开发,对CA技术有所了解。4、定时器 其它方面:1、 团队配合。了解到做一个真正要上线的项目,其实也没有那么难,都需要团队的配合,前台、后台、dba等,如果团队中有人之间出现矛盾,这个是必须要协调的,要不然自己夹在中间很不好的,感受很深。2、 发现问题的根源,然后去
2017-08-05 19:03:15
1134
11
原创 GHGL项目总结-DB2
项目中用的一个DB2中间数据库,这样的数据库接触的很少,遇到的问题很多。不怕不知道就怕不知道,普及一下基础知识。1、客户端工具经过询问使用的是dbvisualizer这个客户端软件。安装和使用教程https://wenku.baidu.com/view/67d008fb1711cc7930b7164d.html2、项目中遇到的一个问题Cause:com.ibm.db2.jc
2017-07-31 12:01:34
925
17
原创 GHGL项目总结-Oracle
项目当时用的是Oracle数据库,遇到的问题的一些总结。1、中文乱码问题:Oracle和pl/sql字符集一致即可。http://blog.youkuaiyun.com/aovenus/article/details/12648751从以下得出子查询中in最大是1000deleteid="batchDelete"> delete from t_user whe
2017-07-31 11:40:03
701
15
原创 GHGL项目总结-Myeclipse
1、新建项目中javaproject和web project的对比http://blog.youkuaiyun.com/angiexia/article/details/199244792、系统文件的介绍http://www.cnblogs.com/shihaiming/p/5803957.html http://blog.youkuaiyun.com/zhengzhb/article/detai
2017-07-30 17:56:14
587
14
原创 GHGL项目总结-mybatis
1、作用标记避免Sql中与xml规范相冲突的字符对xml映射文件的合法性造成影响 rownum ]]> 2、写增删改时,语句没问题,但是没执行,可能是因为没有session.commit();3、批量提交数据 int a = 2000;//每次提交2000条 int loop = (int) Math.ceil(list.size() / (double)
2017-07-30 16:20:15
856
15
原创 SpringMvc常用注解
1、@Controller用于标记一个类,即一个SpringMVC Controller对象,一个控制器类。Spring使用扫描机制查找应用程序中所有基于注解的控制器类。为了保证Spring能找到控制器,需要两件事:在SpringMVC的配置文件的头文件中引入spring-context.使用元素,该元素的功能为:启动包扫描功能。例: base-package属性指定了
2017-02-19 16:09:14
3555
32
原创 springMVC搭建—最少配置
这篇是springmvc实践,学理论请看上一篇1、建立web project项目,引入相应的java可以在我这里直接下载2、两个配置文件web.xml和springMVC.xmlweb.xml<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.co
2017-02-11 18:16:36
592
24
原创 list<T>排序及思考
排序工具类:import java.lang.reflect.Field;import java.lang.reflect.Method;import java.sql.Timestamp;import java.util.Collections;import java.util.Comparator;import java.util.Date;import java.util.L
2017-02-11 16:26:33
850
20
原创 StringUtils方法
转载:http://blog.sina.com.cn/s/blog_4550f3ca0100qrsd.htmlorg.apache.commons.lang.StringUtils中方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerExcepti
2017-02-01 10:21:40
1269
16
原创 Gzip压缩
GZIP,即网页压缩,是由WEB服务器和浏览器之间共同遵守的协议,也就是说WEB服务器和浏览器都必须支持该技术,而现在主流的浏览器都是支持的,包括IE、FireFox、谷歌浏览器、Opera等。常见的WEB服务器有Apache和IIS等。Gzip压缩传输能更加有效节约带宽流量。他先把文本压缩为.gz然后传输给浏览器,最后由浏览器负责解压缩呈现给用户。双方协议过程如下:
2017-02-01 09:11:02
867
16
原创 密码学(二)—RSA后端加解密java实现
RSA后端加解密实验过很多次,不管是编码问题,还是密文长度问题,都解决掉了,网上也有好多后台加解密的,
2017-01-15 19:34:13
2133
16
原创 密码学(一)——AES前端和后端的加解密以及对接
最早系统学习密码学的知识是在软考过程中,当时也是半瓶子醋晃悠,我记得最近技术分享中也分享过一些相关的知识,可惜也没有细细分析,老大说要在数据在B/S传输过程中要加密,所以自己就先研究的AES前端和后端的加解密以及对接。这是两个过程:前端加密—传输到后台—后台解密、后台加密—传输—前台解密。 AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度
2017-01-10 22:56:01
12305
46
原创 单链表
单链表结构:链表的应用场景1、对线性表的长度或者规模难以估计;2、频繁做插入删除操作;3、构建动态性比较强的线性表。链表的代码实现:节点类package linkDemo;public class Node { protected Node next; //指针域 protected int data;//数据域
2016-12-27 11:03:18
551
24
原创 JVM(五)——内存和几种代码报错之间的关系
StackOverFlowErrorOutOfMemoryErrorPermGen SpaceError这几种异常时什么意思呢?哪种代码可以导致这几种错误呢?
2016-11-30 22:06:39
530
原创 JVM(四)——垃圾回收机制
垃圾收集(Garbage Collection, GC),需要完成三件事情: 哪些内存需要回收? 什么时候回收? 如何回收?对象已死? 堆中存在着所有的对象实例,垃圾回收器在对堆进行回收之前,就要确定这些对象有哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。1、引用计数法: 为每个对象增加一个字段记录
2016-11-30 21:56:26
735
13
原创 JVM(三)—— 重新认识内存分析
电脑内存分布: JVM内存分析: 区域分析:引擎区:引擎执行加载等过程需要内存方法区:存放类信息、常量、静态变量,即类对象,也称为永久代/permgen space/non-heap栈区:包含本地方法栈和java方法栈,是执行代码所占的内存,heap堆区:堆存放的是对象,包含新生代和老年代,其中新生代又分为ed
2016-11-30 19:35:58
715
12
原创 nginx反向代理多个系统
1、思路:根据不同的URL去跳转到不同的系统中2、分析:$request_uri代表的是URL地址除去“http://域名”字符串以后剩下的字符串,例如:URL地址为:http://192.154.222.191:8000/itoo-basic-majorchoosecourse-web/settingMajorCourse,则$request_uri代表的是itoo-
2016-11-04 15:55:51
9127
26
原创 nginx简介
刚开始是从负载均衡开始接触nginx的,后来才意识到nginx不止做负载均衡,还有好多强大的功能。百度上: Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以
2016-10-31 22:20:24
722
18
原创 [CentOS 7] 安装nginx及简单配置
一、安装1、下载对应当前系统版本的nginx包(package)wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2、建立nginx的yum仓库 rpm -ivhnginx-release-centos-7-0.el7.ngx.noar
2016-10-25 18:51:36
1915
34
原创 mybatis问题锦集(一)
第一个问题:如果数据库是mysql,进行批量增加和修改的时候,在jdbc连接数据库的配置文件上一定要加上&allowMultiQueries=true,因为mysql数据库是默认allowMultiQueries=false,jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&z
2016-10-23 21:23:41
5213
33
原创 极光推送
在App想目中遇到一个很有意思的功能,那就是手机推送功能。推送功能如下:这是一个通过网站实现的,可以支持多种语言,.NET、java、PHP等。
2016-07-31 23:06:18
496
原创 Struts1(一)——基本原理
MVC框架:通过Servlet实现MVC:通过struts1实现MVC:细粒度的时序图:一个登陆的小例子:在lib中复制粘贴相应的jar包,编写jsp页面login.jsp:<%@ page language="java" contentType="text/html; charset=GB18030"
2016-06-24 21:51:02
956
30
原创 DRP(五)——JSP与JavaBean
JSP运行机制 JSP容器管理JSP页面生命周期的两个阶段:转换阶段和执行阶段。当有一个对JSP页面的客户请求到来时,JSP容器检验JSP页面的语法是否正确,将JSP页面转换为Servlet源文件,然后调用javac工具类编译Servlet源文件生成字节码文件,这一阶段是转换阶段。接下来,Servlet容器加载转换后的Servlet类,实例化一个对象处理客户端的请求,在请
2016-06-18 17:48:29
862
24
原创 DRP(四)——线程安全的Servlet
多线程的Seervlet模型 Servlet规范定义,在默认情况下(Servlet不是在分布式的环境中部署),Servlet容器对声明的每一个Servlet,只创建一个实例。如果有多个客户请求同时访问这个Servlet,Servlet容器如何处理这多个请求呢?答案是采用多线程,Servlet容器维护一个线程池来服务请求。线程池实际上是等待执行代码的一组线程,这些线程叫做工作者线程
2016-06-18 12:24:09
2066
25
WF高级程序设计
2016-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人