
JAVA进阶
文章平均质量分 77
out2012
这个作者很懒,什么都没留下…
展开
-
JAVA进阶----主线程等待子线程各种方案比较
[color=darkred][size=medium][b]创建线程以及管理线程池基本理解[/b][/size][/color][color=brown]参考原文链接:[/color][url]http://www.oschina.net/question/12_11255?sort=time[/url][color=darkblue][b]一、创建一个简单的java线程[/b][/...原创 2015-02-09 14:27:09 · 160 阅读 · 0 评论 -
JVM调优:选择合适的GC collector (一)
http://blog.youkuaiyun.com/historyasamirror/article/details/6233007(转) 正文之前,先介绍一人:Jon Masamitsu。此人背景不详,不过他在SUN做的就是JVM,所以他的blog我认为是每一个想对JVM调优的人都应该读一读的。本文的很多观点和一些图也是取自他的blog。blog link:http://blogs.sun.co...原创 2016-11-15 20:45:52 · 139 阅读 · 0 评论 -
JVM调优:选择合适的GC collector (二)
http://blog.youkuaiyun.com/historyasamirror/article/details/6244893(转) ParallelGC 再来看看parallelGC的结果。 截取其中一段放大如下: JVM参数如下:Java -jar -Xms10g -Xmx15g -XX:+UseParallelGC -XX:ParallelGCThreads=8 -X...原创 2016-11-15 20:47:03 · 160 阅读 · 0 评论 -
JVM调优:选择合适的GC collector (三)
CMS Collector 在很多地方,CMS Collector常被翻译成“并发”,而ParallelGC被称为“并行”,但中文里,这两词的区分度并不明显。事实上,所谓的Parallel是指,在执行GC的时候将会有多个GC线程共同工作,但是,在执行GC的过程中仍然是“stop-the-world”。CMS的区别在于,在执行GC的时候,GC线程是不需要暂停application的线程,而是和它们...原创 2016-11-15 20:51:30 · 184 阅读 · 0 评论 -
一次mysql死锁的排查过程
[size=medium][color=brown][b]一次mysql死锁的排查过程[/b][/color][/size][size=medium][color=indigo][b]一、背景[/b][/color][/size] 17号晚上要吃饭了,看旁边的妹子和佐哥还在调代码,就问了下什么问题啊,还在弄,妹子说,在测试环境测试给用户并发发送卡券时,出现了死锁,但看代码没有死锁,问...2016-11-21 10:04:17 · 659 阅读 · 0 评论 -
海量数据存储--分库分表策略详解
[size=large][b]海量数据存储--分库分表策略详解[/b][/size][size=medium][color=brown][b]一、背景:[/b][/color][/size] [color=indigo]系统刚开始的时候,数据库都是单库单表结构。随着业务量的增加进行第一次数据库升级,根据业务垂直拆分数据库,这样多变成多个业务数据库,每个数据库里面还是单表结构。接下...2017-04-12 19:59:16 · 412 阅读 · 0 评论 -
高并发的核心技术-幂等的实现方案
[size=large][b]高并发的核心技术-幂等的实现方案[/b][/size][size=medium][color=darkred][b]一、背景[/b][/color][/size][color=indigo][b]我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。例如:[/b][/color][color=indigo]1. 前端重...2016-02-08 14:02:15 · 408 阅读 · 0 评论 -
YY淘宝商品数据库设计(转)
http://www.cnblogs.com/mmmjiang13/archive/2010/11/04/1868609.htmYY淘宝商品数据库设计 前言 这几个月都在做一个通过淘宝API线下管理淘宝店的系统,学习了很多东西,这里想对淘宝商品表设计用自己的想法表现出来,如果你觉得很扯淡,可以写下自己的看法.OK,切入正题. 淘宝的商品这块的复杂程度,是我见...原创 2016-03-08 20:27:14 · 236 阅读 · 0 评论 -
项目打包,报软件包、类不存在问题排查过程
[size=medium][color=brown][b]项目打包报,软件包、类不存在问题排查过程[/b][/color][/size][size=medium][color=indigo][b]一、背景[/b][/color][/size] 吃完午饭回来,看见佐哥和琳妹妹在那里处理问题,好信的我,就在旁边瞄着,看出来,大致的问题现象是项目无法编译,报找不到类文件和包的错误,我心...2017-05-16 17:13:00 · 866 阅读 · 0 评论 -
系统开发中的坑
[size=large][color=brown][b]系统开发中的坑[/b][/color][/size][color=indigo]这个是在公司分享的一个ppt,整理下发到博客里,记录下,也是避免忘记了[/color][size=medium][color=brown][b]一.幂等性二.数据库三.代码默认写法四.业务设计[/b][/color][/size][...2016-03-15 15:39:12 · 345 阅读 · 0 评论 -
jdk-源码中的一些坑
[size=medium][color=brown][b]jdk-源码中的一些坑[/b][/color][/size][color=indigo][b]1. Runnable接口的命名简直是一大坑,核心含义是任务,任务和线程是分开的,任务放在线程里面被执行,这个接口如果命名成Task大家理解起来就不会那么麻烦了[/b][/color]...2017-02-13 15:17:04 · 315 阅读 · 0 评论 -
jstack详解
jstackhttp://www.open-open.com/lib/view/open1456744049953.htmlhttp://wenku.baidu.com/link?url=XGRAXwZGpPIyvYzcs0fqOGazbnKWWy6tsuDk5XhPUmVI4Y9jOT5TiYf6JVq0sPGafvMJmZFs1dNDlNtovldedF5xwr9ViMvv6W...原创 2017-02-17 11:15:36 · 337 阅读 · 0 评论 -
jstat查看gc情况
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin/加入到Path. jstat ...原创 2016-11-10 10:11:17 · 388 阅读 · 0 评论 -
tomcat源码学习(一) eclipse导入tomcat源码
[size=medium][b]1. 到官网下载Tomcat源代码,这里用到的是apache-tomcat-7.0.72-src.zip[/b][/size][url]http://tomcat.apache.org/download-70.cgi[/url][size=medium][b]2. 在Eclipse中新建空的Java项目,取名为Tomcat-src(名字随意)。[/b][...2016-10-31 20:05:50 · 161 阅读 · 0 评论 -
JAVA进阶----ThreadPoolExecutor机制
[b][size=large]ThreadPoolExecutor机制 [/size][/b][color=darkred][b][size=medium]一、概述[/size][/b][/color][color=darkblue][b]1、ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度...2015-02-09 17:47:51 · 289 阅读 · 0 评论 -
JAVA进阶----分布式事务的一种简单处理方法
每个方法都是原子操作:提供第三方服务的系统,要同时提供执行方法和对应的回滚方法A系统调用B,C,D系统完成分布式事务=========执行开始========A.aa();try { B.bb();} catch(Exception e) { A.rollbackAa();}try { C.cc();} catch(Excep...2015-03-11 17:34:28 · 205 阅读 · 0 评论 -
蚂蚁变大象:浅谈常规网站是如何从小变大的(转)
2005年,我开始和朋友们开始拉活儿做网站,当时第一个网站是在linux上用jsp搭建的,到后来逐步的引入了多种框架,如webwork、 hibernate等。在到后来,进入公司,开始用c/c++,做分布式计算和存储。(到那时才解开了我的一个疑惑:C语言除了用来写 HelloWorld,还能干嘛?^_^)。总而言之,网站根据不同的需求,不同的请求压力,不同的业务模型,需要不同的架构来给予支持...原创 2015-04-16 13:16:06 · 250 阅读 · 0 评论 -
解决并发下累计的问题
[code="java"]package com.tongbanjie.trade.test.base;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;/** * 测试并发累加 * @author huangqun * */public...2016-04-25 11:58:37 · 427 阅读 · 0 评论 -
全局主键生成器-支持单JVM1秒近1000万订单生成
[size=medium][color=brown][b]全局主键生成器[/b][/color][/size][color=indigo][b]介绍:相对于DB自增序列的全局主键生成器,性能更高,同时保留业务需求的业务含义,对于有分库分表需求的业务同时可以存储分库和分表的信息,对于高并发的互联网企业分库分表生成主键来说是一种很好的方法[/b][/color][code="j...2016-05-03 20:46:40 · 382 阅读 · 0 评论 -
apache commons工具类简介
[b]一、Commons BeanUtils[/b]说明:针对Bean的一个工具集。由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装。[b]二、Commons CLI[/b]说明:这是一个处理命令的工具。比如main方法输入的string[]需要解析。你可以预先定义好参数的规则,然后就可以调用CLI来解析。[b]三、Commons...原创 2015-07-27 14:02:09 · 172 阅读 · 0 评论 -
数据库设计规范
1. 数据库设计基本规范领域驱动表内容划分,一个领域内容的放在一个表内一套应用表或者一张表,最基本要满足第三范式要求对于基础服务的表,要满足BC范式的要求2. 表名规范同一个应用(或领域)下的表,要有相同的前缀,如:tb_share, tb_position,tb_valuation...2016-10-17 23:29:44 · 269 阅读 · 0 评论 -
mybatis.xml中sql编写规范
[size=medium][b]一、越少的代码,越强悍的功能,xml里面应该6个sql语句就够用了,修改,维护成本很低,见下表[/b][/size][table]|[b]英文名[/b]|[b]方法名称[/b]|[b]核心点[/b]|[b]建议[/b]||insert|1.新增数据|如果是自增主键,应该返回主键ID|||deleteById|2. 根据主键ID删除数据|sql默认加l...2016-10-18 14:54:40 · 1017 阅读 · 0 评论 -
如何写一个强壮的JOB任务
[size=medium][b]如何写一个强壮的JOB任务[/b][/size][color=indigo][b]1. JOB跑一半断电了,不能产生脏数据,同时支持重跑修复数据,也不能产生脏数据,(脏数据包括海量的异常日志等)2. JOB要对幂等性支持,支持并发下的重复执行3. JOB要继承AbstractJob来写,通过判断isTerminal(),来优雅的支持中断,防止...2016-10-18 15:00:26 · 208 阅读 · 0 评论 -
业务架构模板
[size=medium][b]业务架构模板[/b][/size][b][color=indigo]默认一个高大上的业务系统需要具备的技术点和对应实现方案,方便我们做业务系统构建时进行对比开发[/color][/b][table]|[b]技术点[/b]|[b]应用场景[/b]|[b]代码案例[/b]||token机制||||日志注解||||全局唯一主键||||L...2016-10-20 19:56:23 · 695 阅读 · 0 评论 -
深入分析ClassLoader
转(原文http://blog.youkuaiyun.com/xyang81/article/details/7292380)一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装...原创 2016-10-27 23:27:37 · 150 阅读 · 0 评论 -
区块链!每个人都要了解下--十分钟洞见区块链的前世今生
[size=large][color=darkblue][b]区块链!每个人都要了解下--十分钟洞见区块链的前世今生[/b][/color][/size] 为啥要讲区块链呢,因为它太火了,火到什么程度呢。依靠区块链构建的 数 字 货 币 比 特 币,从生出来到现在翻了 几 百 万 倍,那可是 几 百 万 倍啊,你给你儿子买冰棍的钱,让你儿子当年买比 特...原创 2018-04-27 12:32:02 · 449 阅读 · 0 评论