java advanced
文章平均质量分 56
折腾数据折腾代码
从体验到数据.java(phpmysqlpythonc)....<<在整个业务都坚不可摧的情况下, 数据和人是最薄弱的系统环节>>
展开
-
Nacos2.0.3 Dubbo k8s灰度下线
/** * * <pre> * 如果通过配置dubbo.service.shutdown.wait=20000(默认10000,10秒)这种方式, * k8s.terminationGracePeriodSeconds=缩小时间间隔, * 则会有线上的在途服务突然中断或者其他错误, * * 借助k8s的容器层的preStop来做灰度下线,并不影响线上服务, * * .原创 2022-01-04 18:22:47 · 1769 阅读 · 0 评论 -
Nacos1.3.2 Spring Cloud k8s灰度下线
/** * nacos服务主动下线 * * 主动下线方法中,1调nacos实例下线(no run),2.调nacos的超时(仅在springcloud服务中能* 和),* 最后选择用2 */ public boolean nacosDown(Map map) { log.info("nacosDown deregister from nacos, serviceName:{}, hostUrl:{}, namespace...原创 2022-01-04 18:21:48 · 753 阅读 · 0 评论 -
数据源性能调优记录
调了一波Druid之后,性能上还是上不去,果断的切到了HikariCP上。经过攻读源码,可知Hikari性能高的主要理由:1. 精简字节码. javassist2. concurrentBag 无锁设计,ThreadLocal缓存,队列窃取,直接切换优化3. FastList get(不range判断), remove(倒序),4. 整个链路都是无锁化的按照hikari的定位,调节了maxpool, initpool, autoconnect, xxtimeout等参...原创 2021-12-20 22:41:03 · 313 阅读 · 0 评论 -
架构方法论
架构者入手基本思路:1. 接到需求,深度,广度理解需求2. 罗列所有核心的解决方案3. 针对团队现状评估出最优之方案4. 方案落地,跟进,项目进度,项目质量,团队隔合5.复盘引用大牛的架构法则:...原创 2021-12-20 22:23:39 · 263 阅读 · 0 评论 -
高吞吐高并发Java NIO服务的架构(NIO架构及应用之一)
Java NIO成功的应用在了各种分布式、即时通信和中间件Java系统中。证明了基于NIO构建的通信基础,是一种高效,且扩展性很强的通信架构。基于Reactor模式的高可扩展性架构这个架构的基本思路在“基于高可用性NIO服务器架构”(http://today.java.net/pub/a/today/2007/02/13/architecture-of-highly-scalable-ni翻译 2012-07-06 13:28:17 · 2868 阅读 · 0 评论 -
用MongoDB实现MapReduce
MapReduce 是 Google 在 2004 年发布的一个软件框架,用于支持大规模数据的分布式计算,详情请看这里。MongoDB 是一个开源的面向文档的 NoSQL 数据库系统,使用 C++ 编写,详情请看这里。1. 安装 MangoDB首先请按照官方这个文档安装 MongoDB 数据库,在本文中,我们是在 Mac OS X 下安装并测试无误。我使用 sudo port in翻译 2012-09-18 15:29:58 · 2174 阅读 · 1 评论 -
memcached底层工作原理
1、memcached是怎么工作的? Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储了很多对的哈希表。通过key,可以存储或查询任意的数据。客户端可以把数据存储在多台memcached上。当查询数据时,客户端首先参考节点列表计算出key的哈希值(阶段一哈 希),进而选中一个节点;客户端将请求发送给选中的节点,然后memca转载 2012-10-18 10:30:42 · 880 阅读 · 0 评论 -
libevent源码分析
大牛,推荐: http://www.cnblogs.com/hustcat/archive/2010/08/31/1814022.html转载 2012-11-01 13:12:00 · 520 阅读 · 0 评论 -
hadoop MapReduce join
1. 概述在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的。而在HADOOP中进行JOIN操作,同样常见且耗时,由于Hadoop的独特设计思想,当进行JOIN操作时,有一些特殊的技巧。本文首先介绍了Hadoop上通常的JOIN实现方法,然后给出了几种针对不同输入数据集的优化方法。2. 常见的join方法介绍假设要进行join的数据分别来自File转载 2012-10-25 13:04:03 · 1396 阅读 · 0 评论 -
CopybookTool MQ工具
public class CopybookTool { private final static String ERROR_MESSAGE = "**********ERROR************\n"; private final static String LENGTH_WARNING_MESSAGE = "*******WARNING MESSAGE LENGTH OVER 90原创 2012-11-06 18:17:14 · 1000 阅读 · 0 评论 -
Simple Transaction Control Util for Simple Thread
/** * * @author yw04009 Bill,Wu * */public class TransacitonUtil { //lacking of some try exception method ,just for speeding up my developing private static DataSource ds; private sta原创 2012-12-25 11:54:08 · 446 阅读 · 0 评论 -
downlaod data from http with RandomAccessFile(muli Thread)
/** * * @author yw04009 Bill, Wu * */ public class TestDownLoad { public void testOneThread(String filePath, String url) throws IOException { File file = new File(filePath + getFi原创 2012-12-24 17:50:58 · 469 阅读 · 0 评论 -
Java中十个常见的违规编码
摘要:作者Veera Sundar在清理代码工作时发现一些常见的违规编码,因此,Veera Sundar把针对常见的一些违规编码总结成一份列表,以便帮助Java爱好者提高代码的质量和可维护性。最近,我给Java项目做了一次代码清理工作。经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)重复出现在代码中。因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Ja翻译 2012-09-17 13:23:52 · 1425 阅读 · 0 评论 -
分布式系统编程,到哪一级了?
介 绍当分布式系统编程成为你生活中的一部分时,你需要经历一段学习曲线。这篇文章描述了一下我当前在这个领域大致属于哪个层次,并希望能为你指出足够多的错误,从别人的错误中学习,从而使你能以最优的路径通向成功。先声明一下,我在1995年时达到第1级,我现在处于第3级。你自己属于哪一级呢?第0级:完全一无所知每个程序员都从这一级开始。我不会在此浪费太多口舌,因为这实在没什么太多可说的。相反,翻译 2012-09-12 11:25:56 · 1198 阅读 · 0 评论 -
Mina ....包装NIO
http://wenku.baidu.com/view/ecf197eb172ded630b1cb633.html原创 2012-07-06 15:20:33 · 587 阅读 · 0 评论 -
JVM参数设置使用技巧(1)
JVM参数设置详解 JVMHeap区域分布: JavaHeap分为3个区,Young,Old和Permanent。Young区保存绝大多数刚实例化的对象,当该区被填满时,触发局部GC,局部GC会将Young区清空,仍被引用的对象将被移到Old区。当Old区再被塞满,就会触发FullGC,回收最后能回收的空间。Permanent区全称是PermanentGener转载 2012-07-06 11:46:28 · 647 阅读 · 0 评论 -
java分布式,基于开源框架实现消息方式
基于开源框架实现消息方式的:: Mina (包装NIO ) java并发包(java .util.concurrent)原创 2012-06-22 17:21:36 · 1180 阅读 · 0 评论 -
SSL java
对SSL中的各种概念的认识也可能会仅限于可以使用的程度。本文通过构造一个简单的SSL Server和SSL Client来讲解Java环境下SSL的通信原理。 首先我们先回顾一下常规的Java Socket编程。在Java下写一个Socket服务器和客户端的例子还是比较简单的。以下是服务端的代码: Java代码 package org.bluedash.t翻译 2012-07-12 16:09:22 · 3028 阅读 · 1 评论 -
code_work_posOrder_1.3
PosOrderMainWin.java //list final List list = new List(c2, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL|SWT.SIMPLE);// list.addSelectionListener(new SelectionAdapter() {原创 2012-07-15 22:55:14 · 474 阅读 · 0 评论 -
code_work_posOrder_1.2
\org\pos\common\fe\CustomDialog.java public class CustomDialog extends Dialog { protected Object result; protected Shell shell; String ManName; String ClassName; St原创 2012-07-10 17:26:42 · 546 阅读 · 0 评论 -
jsp common PopUp Error Page
MFErrorMessageView objErrorView = (MFErrorMessageView)MemfisGenUtility.getRequestAttribute(request,MemfisConstants.ERROR_VIEW_OBJECT); MemfisErrorDom [] objMemfisErrorDom = objErrorView.getErr原创 2012-07-20 12:42:39 · 789 阅读 · 0 评论 -
js作用域分两个阶段
javascript函数作用域分两个阶段 一个叫创建时阶段 一个叫运行时阶段 定义1: 所谓“创建时阶段”就是一个函数被以某种语法定义出来的时候, 并且此函数被创建在一个运行时阶段的作用域中时,此函数才为闭包状态,才能有自己的“创建时阶段”的作用域。(在这里要说的是,所有被压入函数作用域链的值,都是对“可变对象”的引用,当所有这个“可变对象”的引用都断开的时候,翻译 2012-08-07 13:15:00 · 1533 阅读 · 0 评论 -
浅析Tomcat NIO 配置
Tomcat 6.X实现了JCP的Servlet 2.5和JSP2.1的规范,并且包括其它很多有用的功能,使它成为开发和部署web应用和web服务的坚实平台。NIO (No-blocking I/O)从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供非阻塞I/O操作的API被引入。作为开源web服务器的java实现,tomcat几乎就是web开发者开发、测试的首选,有很多其他商翻译 2012-08-25 16:00:01 · 797 阅读 · 0 评论 -
design a HashMap for js
function HashMap(){ /**Map大小**/ var size=0; /**对象**/ var entry=new Object(); /**Map的存put方法**/ this.put=function(key,value){ if(!this.containsKey(key)){ size++; entry[key]=value; }原创 2012-12-19 11:39:49 · 637 阅读 · 0 评论 -
java clone demo for stream
/** * * @author yw04009 Bill,Wu * */public class TestA implements Serializable { public int age; public TestB str = new StringBuffer(); public Object clone() throws CloneNotSupport原创 2012-12-21 18:12:10 · 861 阅读 · 0 评论 -
java 数据结构. 源码阅读
Collections工具类里的Collections.synchronizedListpublic static List synchronizedList(List list) { return (list instanceof RandomAccess ? new SynchronizedRandomAccessList(原创 2014-08-28 12:38:12 · 1482 阅读 · 0 评论 -
Spring Security Source Code -- 验证标准流程
除了初始阶段:主干验证流程链:MyInvocationSecurityMetadataSource.getAttributes(Object) line: 43 MyFilterSecurityInterceptor(AbstractSecurityInterceptor).beforeInvocation(Object) line: 172 MyFil原创 2014-10-11 19:28:43 · 1332 阅读 · 0 评论 -
DB Spring
几十年没搞过DB了,重温一下,, MySQL 的Repeatable Read > Phantom Read > 表锁页锁行锁gap锁 > MVCC >> undo log >> redo log >> statement >> recovery ... >> 引申到Spring滴Propagation (对于dev与dber 虽然两者是原创 2015-05-22 22:51:05 · 1344 阅读 · 0 评论 -
好大滴坑, Spring MVC覆盖了Trsaction
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2015-07-02 11:42:43 · 1242 阅读 · 0 评论 -
Oracle切换MySQL记录
Oracle To MySqlXs java项目转换:1.加mysql驱动,修改数据库配置信息 2.去掉读写分离,修改JdbcContextHolder,所有都从主库读写 3.修改一堆hibernate的自增主键的方式,全部改成了mysql的自增长 4.注册修改sql,mysql需要给定别名,另外去掉rownum改用limit0,1, 校验码失效时间改用java判断 9.代码中很多times原创 2017-03-14 09:02:56 · 2854 阅读 · 0 评论 -
tbschedule源码分析配置
支付平台对账需要用到 一些定时器管理框架, (量大的时候会用到任务并行处理框架)选中了 啊里的tbschedule框架.网上的说明较多,不过以下根据普通的互联网小业务再说明mark一下:一般的小业务可以分为:1.频繁定时任务,如每分钟执行一次(0 * * * * ?)2.每天仅一次的定时任务, 如(1 12 * * * ?)而在小业务中,假如不过于依赖多线程原创 2018-01-22 10:19:28 · 710 阅读 · 0 评论 -
微服务撸一个micro rpc框架, 希望能解决跨平台
转一下前端,抽空写一个micro rpc框架, 准备花半年时间优化它, 希望能兼容java,php,python > > https://github.com/BillWuSQL/SRPC原创 2019-01-22 17:09:35 · 467 阅读 · 0 评论 -
小坑:sharding jdbc 3和pagehelper 5 源码冲突
昨晚被一个小坑坑了一晚,花几分钟mark一下(时间关系, 录个大概):《sharding jdbc 3和pagehelper 5 分页冲突》sharding的processLimit()流程把pageHelper的limit ??参数 重置为 0, x了, 导致分布永远都是0, x 。解决方案:1. 需要pagehelper时 用跳过shardind的数据源, (用的是最新版的...原创 2019-06-20 09:59:10 · 3825 阅读 · 3 评论 -
四年java coder 苦逼滴优化经验 精简总结,详情可与微博 @光工作坊 切磋
一 前端img图片 指定长宽,压缩img图片,整页尽量合并图片,类似taobao滴做法css代码调优css加载文件顺序,css文件压缩js加载文件依赖优化(可依赖雅虎滴前端框架,也可自己写js代码,原理是合理利用js滴document.write.),js文件压缩jsp文件压缩(包括jsp文件滴代码压缩 和 服务器中间件滴设置jsp格式压缩)js框架优化(如合理削减jque原创 2013-10-28 13:49:03 · 1253 阅读 · 0 评论 -
远程监控 Tomcat Jboss /apache
在%JBOSS_HOME%/bin/run.sh文件中将 JAVA_OPTS="$JAVA_OPTS -Dprogram.name=$PROGNAME " 修改为: JAVA_OPTS="$JAVA_OPTS -Dprogram.name=$PROGNAME -Dcom.sun.management.jmxremote.p原创 2013-07-04 14:45:57 · 2266 阅读 · 0 评论 -
分布式Web服务器架构
最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候已经是托管了一台主机,并且有一定的带宽了,这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越慢,而这个时候比较明显的是数据库和应用互相影响,应用出问题了,数据库也很容易出现问题,而数据库出问题的时候,应用也容易翻译 2013-07-07 01:19:33 · 880 阅读 · 0 评论 -
JVM参数设置、分析
JVM参数的含义 实例见实例分析参数名称含义默认值 -Xms初始堆大小物理内存的1/64(默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.-Xmx最大堆大小物理内存的1/4(默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM翻译 2013-01-23 13:41:26 · 616 阅读 · 0 评论 -
当前比较流行的几个不同公司不同版本JVM的最大内存,得出来的结果如下:
当前比较流行的几个不同公司不同版本JVM的最大内存: 公司 JVM版本 最大内存(兆)client 最大内存(兆)server SUN 1.5.x 1492 1520 SUN 1.5.5(Linux) 2634 2660 SUN 1.4.2 1564 1564 SUN 1.4.2(Linux) 1900 1260 IBM 1.4.2(Linux) 2047 N/A原创 2013-01-17 16:52:14 · 1880 阅读 · 0 评论 -
GC Log analysis
jstack, jconsole, jinfo, jmap, jdb, jstat-XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime java -verbose:gc -Xms20m -Xmx20m -Xmn10m -XX:SurvivorRatio=8 -XX:+PrintGCDetai原创 2013-01-18 14:00:43 · 1955 阅读 · 0 评论 -
java little case .you know easy to forget
成员变量具有缺省值 而局部变量则没有原创 2013-03-04 13:35:31 · 462 阅读 · 0 评论