自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从java对象头来聊synchronized关键字优化

相关参考博客地址 &参考书籍https://www.cnblogs.com/LemonFive/p/11246086.html?from=timeline&isappinstalled=0https://juejin.im/post/5b4eec7df265da0fa00a118f#heading-0https://juejin.im/post/5cfddf48e51d455...

2019-10-08 16:26:55 367

原创 一个Transaction was marked for rollback only; cannot commit 异常引发Spring事务传播的机制的思考

一 问题的出现&产生背景媒资的视频关联相关字幕时,在视频已经推送至翻译系统的前提下,需要将字幕通过http接口推送至翻译系统。同时,如果改视频如果已经至乐高,则将字幕也同步至乐高(RPC接口)。由于功能依赖于第三方服务,整体流程较长。且存在第三方服务存在不确定性(超时,服务挂掉) ,第三方服务不应该与保存字幕功能强耦合,故调用第三方服务设计为异步操作,并加入重试机制。推送至翻译系统的...

2019-10-08 10:43:06 9715 1

原创 记一次内存泄露问题

前段时间收到业务未报警, 最终定位问题为第三方代码ZkClient中存在内存泄漏。结论:1.       ZK分布式锁相关代码存在泄漏,当使用不断变化的字符串作为资源名称进行加锁/解锁时,这些字符串不能被回收。2.       这个内存泄漏问题,可以通过更新kiwi-utils 包到0.0.25.4版本修复。 记录下排查过程:1.       故障发生时表现为ActiveM...

2018-10-12 11:30:51 769 5

原创 分库深度翻页问题&Elasticsearch的解决方式

主要内容o一 业界难题-跨库分页需求o二 解决方案o三 elasticsearch采用的解决方案&源码解析o四 由分页问题引发对es性能的思考一 业界难题-跨库分页需求1.1分页查询的业务需求&常用的解决方式互联网分页拉取获取数据的需求:(1)微信消息过多时,拉取第N页消息(2)京东下单过多时,拉取第N页订单(3)浏览58同城,查看第N页帖子...

2018-10-11 09:41:42 2289

原创 Elasticsearch技术分享--基于5.1.1版本

主要内容 o一 简介o二 基本概念介绍o三 底层实现原理&集群搭建(干货)o四 对搜索系统的优化&问题解决方式(干货)o五 参考资料二 基本概念介绍2.1 集群、分片、节点概念介绍2.2 索引、类型、文档概念介绍2.3 数据的写入过程2.4 写入路由优化(重点)2.5 分布式查询2.6 深度翻页问题(重点)2.1 集群、分片、...

2018-10-09 10:58:35 3759 1

原创 并发编程理解

 避免死锁的方法:1.避免同一个线程同时获取多个锁。2.避免同一个线程在锁内同时占用多个资源,尽量保证一个锁对应一个资源。3.尝试使用定时锁lock.tryLock(timeout)替代内部锁机制。4.数据库的加锁和解锁必须在一个数据库的连接里,否则出现锁失败的情况。java并发机制实现原理volitle关键字实现原理(下列原理为缓存一致性机制)1.CPU的lock指令操作,f...

2018-06-14 19:05:25 381

原创 netty nio踩坑实例

主要内容一 项目背景&技术选型二 设计开发&遇到的问题三 问题排查&分析四 netty nio底层原理五 解决方案&总结一 项目背景&技术选型Elasticsearch的深度分页查询非常耗时且十分消耗性能,自5.1.1版本后最大只能支持1万条数据的分页,如果想获取全部数据需要通过scroll(滚动)查询的方式,因此开发了为scro...

2018-04-11 15:55:33 3127 2

原创 由分库分页问题的解决方式联想到elasticsearch深度翻页&scroll search_after问题

1. 分库分页问题详细参考链接:https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959942&idx=1&sn=e9d3fe111b8a1d44335f798bbb6b9eea&chksm=bd2d075a8a5a8e4cad985b847778aa83056e22931767bb835132c04571b66d5434020fd

2018-01-19 14:35:43 687

原创 深入理解Java中的序列化(Serializable)

以前一直搞不明白序为什么要设计序列化这样一个接口,今天看了下别人的博客以及对应的视频教程,总算搞明白了,特此写下此篇博客。一 序列化是干什么的?我们知道,在jvm中引用数据类型存在于栈中,而new创建出的对象存在于堆中。如果电脑断电那么存在于内存中的对象就会丢失。那么有没有方法将对象保存到磁盘(对象持久化存储)或通过网络传输到远处的其他地方呢?答案是可以,但是我们必须要...

2016-01-21 18:34:55 9325 6

原创 线程池深入理解

java 线程池深入理解 合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控

2015-04-21 20:27:02 1995 1

原创 linux学习笔记

Lunix进程相当于版本:r.x.yr:release version稳定的版本x:开发中的版本 偶数:稳定的版本 奇数:开发中的版本y:错误修补的次数。Lunix磁盘分区:  1.格式化:先分区再格式化  类似于hashtable 数据查询速度快。先查找hashcode对应的对象,如果两个对象hashcode相同则在同一个链表上,再比较equals方法。Equals值相同

2014-12-22 08:49:02 1055

原创 Classloader解析&总结

昨天晚上在看《java程序员面试宝典》时候,发现里面 Classloader知识点介绍的非常含糊,今天早上又重新从网上搜了相关资料,并且梳理了一下,希望对想了解这一块的同学有所帮助。需要注意一点是,有些地方我也没有进行深入研究,在此标出。一 What? 什么是classloader

2014-11-25 09:04:27 1119

原创 利用java反射机制 读取配置文件 实现动态类加载以及动态类型转换

Spring实现的一个重要的机制是通过反射(java.lang.reflect)读取配置文件,通过配置文件来动态生成配置文件中的类对象。Java动态加载类主要是为了不改变主程序代码,通过修改配置文件就可以操作不同的对象执行不同的功能。由于java是强类型语言,本文根据一篇老外的博客,给出了一种可以实现动态类型转换的可行性方法和思路。本文主要帮助你完成一下学习目标:(1) java反射机制最基础的学习。(2) 通过最基础的java正则表达式读取配置文件,获取需要的信息。(3) 模拟spring的IO

2014-10-16 14:49:25 11735 1

原创 对spring控制反转以及依赖注入的理解

对spring控制反转以及依赖注入的理解

2014-09-28 15:45:49 2321 2

原创 mysql学习

1.配置环境变量path2.命令行进入:mysql -u root -p-u意思是用户名-p意思是密码 hibernate插入中文数据,出现错误。原因是数据库的字符集设置问题:http://blog.csdn.net/xxgujh/article/details/44114551需要在创建数据库时指定字符集:create database db_name character set gbk col...

2014-09-21 20:50:45 614

原创 深入理解java动态代理

昨天看spring aop(面向切面编程)时,遇到了java的动态代理问题。折腾了太多时间,大体弄明白了什么意思。     首先来看一下动态代理类的定义:动态代理实际上是一种设计模式。之所以称为动态,是因为 proxy类是在运行中才创建出来的,它是根据你创建的接口来实现(创建)的。

2014-08-26 10:21:01 965

原创 利用java正则表达式来解析并获取指定的字符串

Java的正则表达式不仅可以用来匹配验证字符串是否符合标准类型,还可以用来解析字符串,获取自己想要得到的数据。在java.util.regex包下提供了系列的类来对字符串进行匹配。来看一下下面的例子:public static String parse (String s){  Pattern pattern =Pattern.compile("charset=(.+?)\"");

2014-05-21 16:32:33 27754

原创 java 输入输出流概念梳理

无论是文件还是socket网络,只要是outputstream都是向终端

2014-05-08 11:13:24 820

原创 java 定时任务(基于java学习笔记)

一 java 定时任务基本流程1 创建任务类,两种方式。·1.1继承 TimerTask类,重写run方法 示例代码:package Timer;import java.util.TimerTask;public class myTask extends TimerTask{     @Override    public void run() {   

2014-04-28 16:55:44 713

原创 线程异步学习(基于java学习笔记)

j

2014-04-28 15:22:07 1314

原创 多线程编程资源争用问题

一 基本概念     (1)执行任务有先后顺序时,称为同步(Synchronized),任务部分先后一同执行称为异步。     (2)实现实现多线程编程的两种方法:     A.继承类Thread(所属的jar包 java.lang.Thread)。重写run方法。简单例子     Publicclass ThreadA extends Thread{     Publicvo

2014-04-25 08:57:04 2922

原创 java IO 文件路径

主要实现文件的管理,重点在于对java路径问题的

2014-04-16 21:24:58 864

转载 弗洛伊德算法详解

算法的数据结构弗洛伊德算法采用图的带权邻接矩阵存储结构。               算法基本思想假设求顶点Vi到Vj的最短路径。弗洛伊德算法依次找从Vi到Vj,中间经过结点序号不大于0的最短路径,不大于1的最短路径,…直到中间顶点序号不大于n-1的最短路径,从中选取最小值,即为Vi到Vj的最短路径。                算法具体描述若从Vi到Vj有弧,则从Vi到Vj

2014-04-16 14:54:28 1976

转载 小米js源码解析

通过逐行的分析,小米的骗局越来越清晰了。其实页面就30秒被提交一次。提交后获得一个js文件,其js文件的地址类似是http://tc.hd.xiaomi.com/hdget?callback=hdcontrol&_=hdget,然后hdcontrol({    "stime": 1378180861,    "status": {        "allow": false,

2013-12-24 15:29:22 2107 2

转载 java 实现全排列组合

import java.util.*;public class AllSort{   static int count = 0; static char[] buf = {'1', '2', '3', '4'};      static ArrayList list = new ArrayList();        public static void main(Stri

2013-12-13 16:10:06 2734

原创 java socket编程小例子

一该程序的基本思路   (1)建立客户端:        A.根据要连接的一方(server)方的IP地址以及端口号,发出客户请求(对应server:此时server.accept()方法可以在端口号处侦听,是否有客户端请求出现)生成socket。        B.利用客户端socket获取is os流,分别构造bufferedReader ,printwriter 对象。 

2013-11-05 22:11:25 1222

转载 java IO流的使用方式

流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样,如下图:java.io包是一组流类,分为:字节流:抽象父类是InputStreamOutputStream字符流:抽象父类是Reader和Write

2013-10-29 10:13:14 1219

原创 自己动手实现一个java过滤器类

过滤器采用了装饰者设计模式:package myFliter;import java.io.*;public class LowerCaseInputStream extends FilterInputStream{ public LowerCaseInputStream(InputStream in) {  super(in); } @Override publi

2013-10-28 21:13:18 1441

原创 一个简单的线程中断的例子

ublic class interrupt implements Runnable { public void run() {    System.out.println("执行run方法"); try {       System.out.println("正在休眠"); Thread.sleep(10000);    System.out.println("线程完成

2013-10-28 15:25:25 989

原创 java守护线程(deamon)学习

Deamon学习1.定义:守护线程。是用来对用户线程(非守护线程)服务的,当一个程序中的所有非守护线程结束的时候,deamon线程也就失去了其存在的意义,此时jvm退出。2.对比:守护线程中所创建的所有线程默认都是守护线程,同理,非守护线程中所创建的线程默认是非守护线程。3.注意:例子程序中,yield()方法与sleep方法类似,都会放弃线程执行的优先级。但sleep方法不会放弃资源

2013-10-28 11:05:16 1319

原创 eclipse出现常见错误汇总

1.Syntax error on tokens, delete these tokens拷贝代码一部分中文空格没删除,就出现这个问题了,一个个删除就OK了。

2013-10-28 10:47:16 1822

原创 Java 输入流读取文本文件换行符问题

一问题在学习流编程的过程中,我遇到了一下问题。首先来看一下我写的java源程序:package StreamLearn;import java.io.*;public class TestFileInputStream { public static void main(String[] args) { int count=0; FileInputStrea

2013-09-30 15:28:31 14132 1

原创 Rose出现 “relation from A to B would cause an Invalid circular inheritance"解决方法。

UML建模工具 Rose出现 “relation from A to B would cause an Invalidcircular inheritance /realization combination”(关系从A到B将会导致一个无效的继承或者实现组合)解决方法。一 问题出现这种情况往往是在绘图之前,两个类A和B之间就建立了关系,如下图所示:在绘图过程中,由于操作失误,继

2013-09-30 09:17:46 6478 5

原创 Myeclipse快捷键以及调试问题问题

如果实现某个接口 或者继承某个类 需要重写方法或者实现接口,我们可以右键 source overwrite这样就省去很多写法上的错误 ctrl+f6alt+shift+r 重命名alt+左斜杠

2013-09-04 11:21:56 1143

原创 添加jar包后需要重启tomcat的问题

添加到到server.xml或者datasource.xml中去。 自tomcat5开始,已经不推荐把context放在$CATALINA_HOME/conf/server.xml文件中进行修改了,因为那样只有在服务器重启后,对context的修改才能生效.tomcat提供了几种替代方案:1.修改$CATALINA_HOME/conf/context.xml 文件,在Context

2013-05-23 19:56:27 7320

原创 TPC-H 使用

本教程主要帮助读者完成以下目标: (1)了解TPC-H的由来与简介 (2)给出dbgen Qgen的使用教程,并在windows操作系统、sqlserver2005数据库环境下生成指定规模大小的数据集,利用脚本导入数据库,建立好表的各种关联关系。 (3)给出TPC-H的中文文档翻译以及各种优秀论文推荐链接。

2013-04-07 09:22:00 25701 15

原创 arthas使用分析

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。Arthas实现的原理:利用Instrumentation实现Java字节码的动态修改和增强,以实现方法拦截等功能。(Instrumentation是JDK1.5后新增的一个特性,它允许在程序运行时动态地修改或者增强Java类的行为,而不需要修改原始的字节码文件。

2023-05-22 10:51:19 4003

原创 行业elasticsearch容器化&存储分离调研报告

一、行业es容器化&存储分离架构行业调研1.1 行业es容器化调研概述目前通过联系各个公司的同学&前同事、结合网上公开资料&官方云服务使用文档,共统计10家公司,基本覆盖头部互联网公司。备注:由于绝大部分同学不属于elasticsearch研发部,故采用的咨询方式为查阅公司内部文档、查看申请es集群页面、咨询所在公司es运维同学,容器化方案实际使用的规模情况和一些技术实现具体细节无法获取,但均可以保证信息真实性。以下为调研统计表: 公

2023-03-27 17:19:54 695

原创 elasticsearch使用脚本 滚动关闭索引,更新index setting

查看elasticsearch官网,发现不允许在已经存在的索引中动态更新分词器,只能先将索引close,更新分词器,然后再打开。作用是将内存buffer flush到硬盘中,避免恢复阶段translog中大量数据回放,提升索引恢复速度。(3)对指定索引进行flush操作以及sync操作,加速恢复,避免从主分片全量拉取数据同步至副本。暂停数据写入,可以避免恢复阶段translog中大量数据回放,提升索引恢复速度。(2)获取指定索引对应的setting。

2022-08-24 10:28:45 1153 2

原创 spring oauth2学习笔记

一 主要参考资料https://echocow.cn/articles/2019/07/14/1563082088646.html1.1 博客地址:echocow.cn【重点关注,对应的代码路径为:/Users/leixingbang/GitProject/spring-security-oauth2-demo】https://blog.csdn.net/lightofmiracle/article/details/79151074https://segmentfault.com/u/wotrd/

2021-03-04 09:38:20 1663 1

jasperReport各种文档资料

jasperReport ireport文档资料 iReport的中文教程 jaspersoft-studio-user-guide_0.pdf jsp调用jasper JasperReport创建多个子报表

2015-03-30

jasperreport帮助文档

jasperreport帮助文档 api

2015-03-27

jasperReport测试例子

自己制作报表的测试源码和所有相关学习资料,对应所有jar包,jasperReport版本。

2015-03-27

Uddi注册中心客户端源码以及教程

另外,贴出自己写的解析wsdl文件 注册到uddi 中心 以及查找 源代码。生成数据库的脚本放在文件目录下,这里的数据库测试环境为sqlserver2005,由于数据库中,原来的描述字段为255varchar型,由于实际的wsdl文件的描述很长,将其转为varchar(8000)类型。 需要的同学在我的资源里面下载。

2013-10-13

asp.net学生成绩管理系统

1.教师评价系统,2.学生成绩管理系统,3.班级课程表,4.系统信箱,5.在线考试系统5大功能。 系统采用B/S模式实现,管理员,教师,学生均可以通过浏览器访问本系统,能够很友好的完成教务管理工作。 完成,学生成绩的输入,管理和查询,教师教学质量的评价和分数查询,课程的查询,课程表的打印,以及系统内部信息的发布。 系统数据大量都可以导出到EXCEL内,方便数据的特殊打印功能。 系统学期,院系、班级、教师、学生、课程、菜单都可以随意在后台管理,真正的方便和灵活,完全使用于大学,高中等学校。

2012-06-25

QQ 自己写的

c# sql2005 可实现局域网内网络通信

2012-06-24

SQL_Server存储过程调试指南

SQL_Server 存储过程调试 指南

2012-06-12

c#窗体验证码

Windows验证码生成程序GDI+修订了编程模式,使得图形硬件和应用程序相互隔离,也使开发人员编写设备无关的应用程序变得更加容易。 如果要画一幅画,那么GDI 中的Graphics类相当于我们的画板,有了画板之后,color类相当于我们的调色板,我们可以从中选取自己喜欢的颜色。windows程序的坐标系统使得我们知道自己要在哪里画我们要画的东西。GDI+使用Point、Size和Rectangle结构来进行绘图时的坐标定位和尺寸确定。当再拥有画类(pen) 画刷(Brush)之后动笔画画了。当画完画之后,(这里相当于生成了一张)我们需要有一个相框将我们画的画装裱起来,这里的相框相当于windows窗体程序中的picturebox,而紧接着我们需要将相框放在墙上悬挂起来。这里的墙体相当于windows中的form窗体。 解题的思路 这里要生成验证码。首先我要生成一张含有验证码的图片,图片中我需要将要倾斜的字,噪点,以及一些干扰线画在图片上。然后我们将生成的图片放到piciturebox让图片显示出来。 为了提高程序的通用性,我将生成验证码的程序单独封装成为一个类

2012-05-25

C# 完美实现QQ

完整实现myqq 里面有教程和使用说明 20字啊

2012-05-25

c++ 打飞机游戏

c++所写的打飞机游戏,已经实现了所有功能,包括计分,闯关等。玩的时候,先点击游戏设置,可以设置敌我战机相关信息,点击确定之后,即可玩乐。

2011-12-19

java 队列 链表 栈

用java 队列 链表 栈不少老师大作业布置的就是这个,需要的同学就放心下载吧

2011-12-19

全国大学生电子商务 二等奖作品(网站)

这是我们队比赛作品,其实主要做了一个网上理发店的网站,能注册会员等。

2011-12-19

c语言实现日历(山东科技大学实训项目优秀代码)

实现了老师所要求的所有功能,而且自己添加了自动关机,报时,根据季节更换皮肤颜色,调节钟表大小等等功能。而且可以设置纪念日,更换皮肤,更换钟表模式。

2011-12-19

c++ MFC 实现打飞机游戏

自己写的打飞机游戏,昨天才写完,下周就交。其中实现了双缓冲技术,不过模块化还没做好,科大同学就不要下载了,老师会知道的,哈哈。有问题的话就联系我吧!

2011-12-11

c++实现的模板队列

c++实现的模板队列,在这里你可以任意添加修改任何类型的数据。队列大小由你来确定。不少老师布置的程序就是这个,参考一下吧!

2011-10-27

网络游戏设计(JIAOCHENG)

有网络游戏教程,很完整的教程。并且有20万行代码。

2011-04-11

贪吃蛇源代码 调试已经通过需要用 win -tc环境下运行,具体不懂得再问我吧

贪吃蛇源码 不多说了 调试已经通过源代码 调试已经通过需要用 win -tc环境下运行,具体不懂得再问我吧

2011-03-23

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

TA关注的人

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