8 大神起步

尚未进行身份认证

喜欢技术,喜欢钻研,崇拜技术大神!

等级
TA的排名 5w+

内存不足导致的耗时增大

内存不足导致的耗时增大给项目添加新功能,功能比较简单,就是对数据做打分过滤等操作,上线后发现CPU使用率明显上升,线程cpu使用率不均衡,有线程cpu使用率会达到100%top -H命令查看到的根据日志发现,服务耗时明显增大,由于是对每一条数据进行操作,数据量每天在千万以上,开始考虑是CPU资源不足导致,申请增加CPU资源。增加以后,监控发现,CPU消耗和服务耗时没有明显改善。...

2018-11-28 18:40:59

Java编码习惯

最近换了新的工作,在阅读前辈写的代码过程中(历史原因),真的是各种吐槽,加上自己阅读的一些编码书籍,结合自己积累的一些编码习惯,总结了一下,方便自己回顾。参考资料:编写可读代码的艺术(非常不错的书,告诉你如何判断代码的好坏) Robust Java 中文版(java异常和测试)58同城Java编码规范阿里巴巴Java开发手册 代码规范需要从读者的角度去考虑。常用格式...

2018-09-27 16:26:00

高并发下的幂等策略分析

转载至:http://www.guokr.com/article/47868/?f=wx&page=2双十一,零点刚开始,小明就迫不及待地点击提交订单按钮,1秒,2秒,3秒,没反应,小明有点心慌,又快速地点击了两下,提示下单成功。随后小明到我的订单列表中一看,发现有三个相同的订单,小明一脸黑线。什么是幂等性HTTP/1.1中对幂等性的定义是:Methods can also have th...

2018-06-01 18:09:18

Spring定时任务Scheduled在linux tomcat服务器上总是执行两次(tomcat配置)

Spring定时任务Scheduled在linux tomcat服务器上总是执行两次。在使用Spring定时任务Scheduled的时候,在本地Windows系统上,执行正常,但是在Linux生产环境上,总是启动两次,除了借助于redis以及线程安全来处理,使其只能执行一次意外,发现原因是tomcat的配置问题。 Tomcat server.xml配置  <!--

2018-03-21 18:15:57

Spring MVC中实现不同环境的配置

Spring MVC中实现不同环境的配置 在项目开发中,存在开发环境和生产环境,一些常用的配置,比如数据库,redis,properties文件中的一些变量等等,在开发环境和生产环境中,都会有一些差异,每次提交代码的时候,如果提交测试环境,则运维人员版本更新时总是要修改配置,危险性比较大,如果提交生产环境,则每次更新后,都要修改配置,才能本地启动,一些常用的思路都是提供多个配置文件,依据系

2018-03-16 11:38:11

Java中的日志框架

java中,比较常见的日志框架有slf4j log4j logback 以及common-logging。  slf4j:全称为Simple Logging Facade for JAVA,java简单日志门面。是对不同日志框架提供的一个门面封装,实现了日志框架一些通用的api.而log4j logback是具体实现了的日志框架,slf4j提供了日志的统一接口,而不用去考虑日志的具体实现

2018-03-16 10:51:53

HTTP的REST服务

本文转载自http://blog.csdn.net/adparking/article/details/52278794REST简介    一说到REST,我想大家的第一反应就是&quot;啊,就是那种前后台通信方式。&quot;但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则。  在您将看到的这一篇文章中,我们将对REST,尤其是基于H...

2018-02-09 16:35:15

Java transient 关键字

Java transient 关键字 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。在Java中,对象的序列化可以通过实现两种接口来实现,若实现的是Serializable接口,则所有的序列

2016-09-03 09:57:46

java /替换 Unexpected internal error near index 1

代码:[html] view plain copy String str="a\\c";  //出现异常,Unexpected internal error near index 1  //System.out.println(str.replaceAll("\\", "c"));            //以下三种都正确  Sy

2016-06-28 14:36:51

ftpClient ,httpClient

最近项目需要实现FTP上传、下载功能以及http接口,采用了Apache Commons Net API。代码很快就完成了,但由于对相关API使用场景不是很熟悉,走了一些弯路,抽一点时间做一下总结。  出现过FTP response 421 received.Server closed connection 异常,原因是加了ftpClient.enterLocalPassiveM

2016-06-23 08:47:35

net.sf.ezmorph.bean.MorphDynaBean cannotbe cast to xxx

net.sf.ezmorph.bean.MorphDynaBean cannotbe cast to xxx在操作json的数据格式的时候,如果没有指明数据类型,那么只能是基本类型或者是String类型,不能出现复杂数据类型。for(Map map : datas){            String gw_id = map.get("GW_ID").toString();   

2016-06-18 14:48:44

Sql索引使用

sql查询中,因为我们键盘输入的总是字符型,遇到不同的数据类型,比较的时候,总是要把数据类型转换一致,常用的思路有两种(oracle为例): 新建表  td_rewardworkf,表结构如图: 表数据百万左右。 1,将原数据表的列 转换成 字符类型,然后和 具体条件比较,即:to_char(oprtime,'yyyymm')>'201605

2016-06-06 18:13:52

Tomcat线程

可以通过调节并发线程数来对tomcat自身进行优化。tomcat中service.xml配置如下:        Executor name="tomcatThreadPool" namePrefix="catalina-exec-"         maxThreads="150" minSpareThreads="4"/>    -->

2016-05-30 15:23:32

Servlet 单例多线程

Servlet 单例多线程Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例);2.容器初始化化Servlet主要就是读取配置文件(例如tomcat,可以通过server.xml的设置线程池中线程数目,初始化线程池通

2016-05-27 17:23:24

include与jsp:include区别

include与jsp:include区别 我们都知道在jsp中include有两种形式,分别是   前者是指令元素、后者是行为元素。具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看到它都会想到的问题。下面一起来看看吧。 通常当应用程序中所有的页面的某些部分(例如标题、页脚和导航栏)都相同的时候,我们就可以考虑用include。具体在哪些时候用,哪些时候用.这种形式。首先要明白

2016-05-27 14:56:49

ORACLE 多表关联 UPDATE 语句

ORACLE 多表关联 UPDATE 语句 两表(多表)关联update -- 仅在where字句中的连接 --直接赋值update customers a -- 使用别名set customer_type='01' where exists (select 1from tmp_cust_city bwhere b.customer_id=a.custome

2016-05-26 21:37:52

依赖、关联、聚合、组合、继承、实现

本文转载自;http://blog.csdn.net/zhengzhb/article/details/71872781. 依赖(Dependence)         依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类A当中

2016-05-23 23:00:47

Java中的Set与hashCode

我们知道Java中的Collection分为List和Set。List中的元素是有序和可重复的,而Set中的元素无序且不可重复。由于Set中的元素是不可重复的,在每次向一个Set中插入新的元素时,如果没有hashCode,就需要遍历整个集合检查是否已经存在该元素。这样会使Set的效率非常低下。使用哈希算法可以提高从元素集合中查找一个元素的效率。根据集合元素的hashCo

2016-05-11 21:00:37

java数据结构-HashMap

转载自:http://www.blogjava.net/dongbule/archive/2011/02/15/344387.html一直以来似乎都有一个错觉,认为map跟其他的集合类一样继承自Collection,其实不然,Map和Collection在结构层次上是没有任何关系的,通过查看源码可以发现map所有操作都是基于key-value对,而不是单独的元素。下面以Hash

2016-05-11 20:25:44

深入理解Java中的Map

Map中的key是如何确保重复验证的快速性及key值的唯一性呢?巧妙地利用了Hash算法来实现并达到重复验证的快速性及key值的唯一性。那么Hash又是什么?Hash算法又称为散列算法,其实Hash算法产生的目的很单纯,其发明的目的是提高海量数据的查找速度。举个实例更能说明问题:假设数据表中有N个无序的字符串(例如:中文人名),给你一个字符串,请迅速找到它在数据表中的序号。

2016-05-11 19:44:34

查看更多

勋章 我的勋章
    暂无奖章