自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 位图算法

计算机里面,最基本的单元就是位(bit),在java中一个byte= 8bit ,位图算法实际就是通过bit来存储,判断数据。 位图算法实际就是通过计算bit的位置来计算数据是否存在。 因为bit只有0和1两重值,所以使用位图时只能判断数据是否存在之类的判断,无法计算数据存在的实际次数。 在int范围类的一组int数据,如果需要判断数字是否重复, 常规的做法就...

2020-04-26 16:05:14 540

原创 使用golang遇到的坑

1, 版本控制,golang的版本控制目前基本上比java的版本控制落后几十年,这玩意根本就没有版本控制的概念, 完全一堆第三方方案来实现版本控制,即不好用,还漏洞百出。 2, 协程不是你想用就能用的。 golang的一个爆点就是协程, 确实使用协程简单方便, 一个go关键字就可以了。但是呢,一堆大坑。golang里面,只有有一个协程出现异常没有处理的情况, golang...

2019-05-23 09:40:14 285

原创 nginx开启https2

http2协议已经在主流的浏览器上提供支持,是时候升级到http2协议来加速网站。 http2的优缺点网上有一大堆的说明,我主要说2点,1是socket重用,复用,2是https缓存。 socket重用,复用: 这块需要...

2019-05-05 11:19:13 1110

原创 线上服务OOM解决记录

最近线上运行的两个服务都出现了oom的情况,具体的报错在于线程池创建线程时 内存不够用导致服务假死。 实际追查过程中才发现问题根本不是内存泄露,而是对于部分参数的设置存在问题。因此记录一下查找问题的过程。 1,第一时间发现线上部分请求出现超时不回包的问题,发现服务里面存在oom的情况, 查看代码的部署记录, 服务线上部署了5个节点,并且已经正常运行了2个月,其它4个节...

2019-03-08 10:37:58 811

原创 系统优化:同步,并行,异步模式

同步模式:  同步模式是最常用,也是最容易理解的模式,目前大多数系统都是采用同步模式来解决实际问题, 比如http协议请求,jdbc请求等等,当发起调用之后,系统线程需要等待返回(或者请求超时)之后,才会执行下一步代码。比如数据库查询,都会一条一条的执行下去。          优点:简单,易懂,与人的常规思维合拍。          缺点:浪费性能,在等待返回的时候,线程会阻塞在请求上,此时...

2018-09-19 15:21:34 579

原创 配置服务设计

 最近,因为需要,编写了一个配置服务,大致罗列一下配置服务的设计逻辑。 配置服务的编写目标:  1,实现服务部署节点的信息管理,方便动态扩容,缩容; 管理功能模块的参数,比如定时器时间,日志级别等等。  2,实现部署节点的流量切换,比如一个服务的节点需要重启,可以通过配置服务,将这个节点,下线,这样后续的请求都不会发送到这个节点。重启时,也不会丢失数据。 3, 为后续的监控服务...

2018-08-22 15:04:20 265

原创 使用go语言开发的体会

最近一段时间,使用go语言来开发了部分功能模块,有一点体会。优点。   go做多线程开发确实比较简单,使用一个go关键字即可实现。   语法也比较简单,唯一麻烦一点是指针,相对我这个一直写java的人来讲,还是比较别扭的,不过多写一写,问题也不大。   对于一些框架性的开发,还是比较容易上手,代码也比较简洁。  一些并发竞争问题,可以在测试环境上通过官方的命令测试出来,这是比较...

2018-08-22 14:29:06 223

原创 netty https下内存溢出问题.

  在最近几个月使用netty实现了网络开发,其中就遇到使用https导致内存溢出的情况. 过程描述如下: 1, 在第一个版本当中,为了性能考虑,netty默认使用了内存池以及堆外内存,在测试环境上表现良好,然而在线上的使用过程中发现,运行一周之后netty+https会导致内存溢出. 测试与生产的差异在于生产环境因为用户的复杂性,会使用不同的ssl加密方法, 以及存在大量socket的创建,...

2018-08-22 14:09:35 1357

原创 JAVA线程池问题

JDK本身已经提供了完整的线程池实现,因此在使用JAVA中使用线程池是很轻松方便的。   查看线程池的构造器    public ThreadPoolExecutor(int corePoolSize,                              int maximumPoolSize,                              long keepAl

2016-11-10 11:06:16 420

原创 mysql事物级别的问题。

mysql存在四个事物级别,最常用的是两个,提交读,重复读。  提交读,简单的理解就是在事物当中,可以读取到其他事物提交的数据。    比如,     1, 在事物A中执行语句 select  *  from user ;。   2, 在事物B中执行语句更新user表。   3, 在事物A中再次执行 select * from user, 结果数据没有变化。   4, 提交

2016-05-18 22:14:24 440

原创 系统结构变迁(一)单节点时代

系统结构变迁(一)单节点时代工作近6年以来,接触/参与开发的系统,从最初的单节点,发展到现在的分布式架构,最近在家休假,有空闲时间总结一下系统的结构变迁。本人能力有限,理解的东西难免错误。单节点时代单节点时代 不仅仅是只有一台服务器,我个人的理解为所有系统的组件都由一个节点组成。在学校,或者一些对系统稳定性,性能要求不高或者成本有限的系统中,多出现单节点。流程图:Created with Rapha

2016-02-25 11:39:44 484

原创 基于spring的方式进行读写分离思考

读写分离 的字面意思,就是将数据库的读和写分开。在整个结果体系上的意思,就是写使用数据库的master节点,读使用slave或者master节点。       这样,讲读的数据库压力从写库中分离,转移到slave节点上,减少写库的存储压力,并且也能够避免写库中数据锁导致查询的卡顿情况。       在网上的资料中有很多的方式实现读写分离,比如中间件。也有部分代码实现的情况。

2015-11-23 15:22:03 665

原创 数据库分表使用思考

最近的工作中设计到了数据库分表的使用,因此讲自己使用过程中的一些思考记录下来。      在数据库的单表数据超过一定规模之后,为了满足性能的需要,采用分表是必须的进行的。在我的工作当中,发现数据库单表数据超过6ooW之后,就开始进行分表的规划,争取控制数据库的单表数据规模在千万级左右。         采用的分表设计中,大致有以下几种,有部分在我的工作中已经使用,有部分没有使用过,当然

2015-11-23 00:52:22 393

原创 mysql双主配置

最近配置了一下mysql双主配置。  参考&copy了 http://mozillazg.com/2013/06/mysql-master-master.html#.VU26DY7oSQE 的配置。   个人总结步骤如下:加入配置master1,master2两台机器  1,保证两台MYSQL的数据一致,表结构一致。master1  (master) ----> master2

2015-05-12 13:29:38 507

原创 keepalived简单总结

在使用keepalived中配置HA应用部署注意事项。  配置脚本如下:   global_defs {   router_id LVS_DEVEL}vrrp_script check_amoeba {    script "/usr/etc/keepalived/check_mysql_status.sh”  //mysql的检查脚本 ,此处,我检查远程m

2015-05-12 13:18:00 465

原创 <<深入理解虚拟机>>笔记------垃圾收集器

>第三章复制算法。 将内存分为两个区域,一个区域作为工作区域,另一个备用,工作区域内存耗尽,将此区域存活的对象复制到备用区域区域,清理此区域的所有内存,然后备用区域与工作区域角色互换,如此重复。 缺点:无法完全使用分配的内存。标记清理算法,  将内存中的对象进行标记,然后将标记为死亡的对象一次性清理。 缺点:会产生内存碎片,在下次分配大对象是,可能出发fullg

2015-01-23 14:39:08 525

原创 JAVA实现简易的文件存储系统

最近闲得无聊,抽空实现了一个简易的文件存储系统, 借用ftp的功能,能将将文件存储到不同的文件服务器之中。  git url : https://git.oschina.net/lkclkc88/FileStore.git  基本实现原理, 就是 对文件生成一个随机名(UUID),然后对文件名做一次分片(分片数为)hash,计算出文件存储的分片,然后通过ftp节点的配置找到

2014-12-15 17:19:15 5576

原创 go语言斐波那契数列实现

最近工作有闲,看了看go语言,用go语言实现了一下斐波那契数列  代码如下:   package mainfunc main() {result,next:=test1(50)println(result,next)result :=test(15)    println(result)}//优化func test1(n int64) (re

2014-12-15 16:54:36 1098

原创 斐波那契序列程序优化

最近回头看

2014-08-27 16:15:06 469

原创 http多线程下载

htt

2014-08-20 10:51:55 578

原创 Jedis配置参数

最近看到有人在使用jedis链接redis时,出现链接超时的情况,因此看了卡

2014-08-12 10:57:53 2449

原创 使用keepalived 构建redis高可用

redis 作为主流的换成

2014-08-07 14:22:34 479

原创 String匹配算法小节

最近闲来无事,

2014-07-02 15:57:13 575

原创 mint环境下安装wps

目前因工作中d

2014-05-09 14:22:10 1910

原创 一个try{}catch位置引发的血案

多线程是个坑,这话一点不假。最近在使用多线程异步发送yi

2014-04-16 20:03:05 605

原创 nginx安装

安装环境 linux mint15     nginx 版本 : 1.5.8  注意,以下是在管理员权限下安装.   1,安装pcre        pcre版本 : 8.32     安装过程 :        ./configure  --enable-utf8;   make;   make install;  pcre安装到默认路径 :/usr/

2014-02-14 13:24:23 701

原创 tomcat 使用redis 管理session

在集群环境下, session的管理是一个需要特别注意的地方.                 tomcat 集群环境可采用一下集中方式实现session管理 .                  1,  session复制, 即将server1 上的session复制一份放入server2,这样server1,server2上都有相同的session。               

2014-01-27 16:39:25 2131

原创 tomcat配置apr

tomcat作为一个web server已经被广泛使用。 为了提高tomcat的性能,配置了tomcat apr作为生产环境。      tomcat 实现网络链接有3种方式:        1,java  阻塞模式 。 默认使用java的阻塞模式实现。(即将tomcat安装之后不做然后的参数修改)。        2,java nio 的非阻塞异步模式。依赖与java的nio实现.

2014-01-27 16:27:10 960

原创 spring+cxf+bonecp整合

最近需要开发webService接口与win8客户端进行对接,项目组以前的webService都是基于IBM的一套产品,而我们的项目客户只提供weblogic,因此,以前的一条webService需要重新整理.   最开始提出采用resteasy实现restful的方式实现数据交付,不过前端win8的开发组不同意,因为他们已经有成熟的webService客户端实现,因此只能放弃restful,

2013-05-08 12:09:42 630

原创 计算工作日期

/** *  */package com.widom.jyxd.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Collections;import java.util.Date;

2013-04-12 14:37:38 648

原创 JAVA--堆算法实现

/** *  *//** * Date:2013-3-19 *  * comment: 堆算法实现 *  *  * @author Liao, Ku-Cheng */public class JAVAHeap{    private static int MAX_VALUE = 8;    private Object[] values;

2013-03-19 16:14:03 511

原创 基本排序算法java实现

/** *  */package sort;import java.util.ArrayList;import java.util.List;import java.util.Random;/** * 功能描述. 排序算法JAVA实现 *  */public class Sort {    private List list;

2013-01-20 22:24:27 314

原创 数据结构---树

树的实现中,插入数据时,确保左子数>节点>=右子树;删除时,如果存在两个子节点,将右子树中最大的节点移动到被删除节点的位置.package basic;public interface Tree {    /**     * 长度     */    public int size();    /**     * 是否为空     * @

2012-11-21 10:35:49 230

原创 数据结构---队列

public interface Queue {    /**     * 是否为空队列     * @return     */    public boolean isEmpty();    /**     * 队列长度     * @return     */    public int getSize();    /**     * 队头,数

2012-11-19 17:28:55 237

原创 数据结构---栈

接口public interface Stack {    /**     * 入栈     *      * @param o     * @return     */    public boolean push(Object o);    /**     * 长度     *      * @return     */    p

2012-11-19 16:55:36 252

原创 Dom4j封装二进制图片数据

最近在项目中遇到了将二进制图片文件封装为XML格式的要求。最初的设想是将二进制文件转换为String类型封装在XML中。  编写代码时发现,将二进制数据文件直接转换为String类型封装到XML中时,无法解析XML文件,因为图片String中有大量的特殊字符。 最后只能使用GOOGLE, 发现可以采用base64编码的方式将二进制图片文件转换String类型.参考了: http:/

2012-11-14 14:19:08 820

原创 Hibernate HQL 查询Set数据

  在近在执行Hibernate hql查询时出现一个问题,就是对象中set结合数据的查询,最终进过努力和google,baidu将其搞定,在db2 数据库上测试通过,特做记录。 在此学习过程中,参考了http://zhidao.baidu.com/question/182091508.html?push=ql 的回答,特此感谢。  具体情况如下: 以学生,老师关系为例 dat...

2012-06-15 09:55:02 199

原创 java String实现加,减,乘,除运算。

最近关心了一下java 字符串实现四则运算。在网上也找到一些前辈的资料,特此将自己写的代码记录下来。代码参考了a43350860(http://topic.csdn.net/u/20090302/17/ab16150e-137e-4b5a-9dcd-a95ef6cce19d.html)的发帖,当然bao110908 提的使用java6调用bshell脚本也是一种实现凡是。在这主要记录一下整个流

2012-04-20 15:31:51 17201 1

原创 java集合中的一个移除数据陷阱

在最近使用java集合框架中出现一些陷阱,目前还没有找到出现情况的具体原理,但最近太忙没太多时间去看源码,只有暂记录下来,待空闲之日,仔细查找原因。      在java常用的集合框架就是list ,set ,map 。       list 可通过下标进行遍历,set,map不能通过下表进行遍历,因此对于set ,map的数据遍历时,常常采用迭代器,不过在使用迭代器移除数据时存在陷阱

2011-05-26 22:39:00 993

原创 字符串转换时,注意编码格式

<br />       在对字符串进行编码格式转化时,要小心编码格式。<br /> <br />       今天加班测试下周客户演示环境时发现一个转码格式问题导致乱码,准确的讲,是上海的同事在新建部署环境时没有添加中文的语言包,特此写下以下内容,留作记忆。<br /> <br />       在操作字符串时,可以通过getByte()方法,将string转换为byte[]类型,粗心一看,没有问题,仔细一想,就会发现这样存在一定的问题的。<br />       问题出在哪?问题在于进行转换时没有限定转

2011-03-26 16:26:00 574

DownloadUtil

使用java,实现http的多线程下载,实验产品,未经大量测试,可用于参考

2014-08-20

keepalived redis config file

keepalived redis高可用配置文件信息

2014-08-07

keepalived.pdf

keeaplived 文档,keepalived的介绍,说明

2014-08-07

webService工程

采用spring3+cxf2.74+bonecp集成的一个开发工程包,采用jackson实现json数据转换,slf4j+logback实现日志管理,bonecp实现连接池.

2013-05-07

JSF的繁体文档关于JSF技术的粗略讲解

JSF的技术文档,JSF技术测粗略讲解,入门级资料

2010-01-12

JDeveloper使用jsf文档

Oracle 公司的JSF文档,涉及JDeveloper的使用

2010-01-12

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

TA关注的人

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