自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (11)
  • 收藏
  • 关注

原创 dubbo-admin 使用调研

一 所有支持的功能介绍 功能 功能简介 备注 服务查询 可以按服务名,应用名,ip地址查询,服务和应用支持模糊查询 问题:针对对应用级别的支持,目前无法展示provider接口服务列表。 条件路由 consumer 支持以服务或者应用为粒度配置路由规则 标签路由 以 Provider 应用为粒度配置路由规则,给不同的服务器打上不..

2021-07-07 17:38:55 232

原创 缓存系列四|你知道redis的高可用策略么?

你会怎么实现客户端的高可用策略呢?

2022-08-22 21:59:37 172 1

原创 消息队列三|Kafka 如何做到高可用?

Kafka 如何做到高可用?

2022-08-22 21:55:47 966

原创 消息队列一|从秒杀活动开始聊起消息队列

从秒杀活动开始聊起消息队列

2022-08-22 21:50:03 448

原创 (第二章)大型网站架构模式

读书笔记

2022-03-27 20:27:04 454

原创 reactor io 模型记录

Reactor线程的三种模型(一文解析) - 简书

2022-01-10 20:02:34 123

原创 warmup 策略整理

2021-08-13 13:41:40 334

原创 dubbo 源码的解读整理(持续更新中)

filter 源码解读https://www.cnblogs.com/mumuxinfei/p/9231310.html

2021-08-13 11:31:43 428

原创 spring && spring boot 常用注解笔记(持续更新)

为了更好的使用spring的注解,熟悉掌握各个注解之间的关联,以免使用的时候总会搞不清他们之间的关系,所以把平时一些使用经验放这边作为后续参考,也可以不断持续积累补充到这个文章下,后续有个比较系统性的认识:1 使用切面注解的流程:涉及到如下几个注解:@SpringBootApplication,@Configuration,@Import,@Component,@Aspect代码使用示例如下,根据代码可以看引入的流程:@SpringBootApplication 该注解只...

2021-08-04 11:38:58 76

原创 好用的工具记录(持续更新..

maven Helper:用于查看maven依赖SequenceDiagram:用于查看类的时序图,需要在源代码环境查看,不能在类包查看Database Navigator:数据库管理工具

2021-07-26 19:10:15 488

原创 spring 几个重要流程记录

摘自 《Spring 5核心原理与30个类手写实战》1 MVC运行时序图:2 aop 运行时序图:3 DI 运行时序图4 ioc 运行时序图

2021-07-25 09:53:15 72

原创 使用反射机制创建带构造参数的对象

private <T> T construct( Class<T> clazz, Class<?>[] parameterTypes, Object[] parameterValues) throws Exception { Constructor<T> cons = clazz.getDeclaredConstructor(parameterTypes); return cons.newInstance(pa.

2021-07-23 15:37:57 116

原创 常用的几种限流方法

计数器限流滑动窗口限流漏桶限流令牌桶限流

2021-07-13 16:36:28 186

原创 git 切换远程仓库地址

1、切换远程仓库地址:方式一:修改远程仓库地址【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。方式二:先删除远程仓库地址,然后再添加【git remote rm origin】 删除现有远程仓库【git remote add origin url】添加新远程仓库2、【git remote -v 】查看远程仓库的地址...

2021-07-08 14:55:17 67

原创 JVM 问题整理

1、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?2、Java代码是怎么运行的?3、Java虚拟机是如何加载Java类的?4、JVM运行内存的分类5、如何监控和诊断JVM堆内和堆外内存使用?6、Java四引用是什么?7、如何理解JVM内置的编译或GC日志?8、JVM的永久代中会发生垃圾回收么?9、Java中的两种异常类型是什么?他们有什么区别?...

2019-08-12 09:31:48 140

转载 GC问题排查

频繁GC问题或内存溢出问题一、使用jps查看线程ID二、使用jstat -gc 3331 250 20查看gc情况,一般比较关注PERM区的情况,查看GC的增长情况。三、使用jstat -gccause:额外输出上次GC原因四、使用jmap -dump:format=b,file=heapDump 3331生成堆转储文件五、使用jhat或者可视化工具(Eclipse Memo...

2019-06-26 15:16:41 1218

原创 记录:使用alibaba:fastjson将json转为对象

Maven引入<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.37</version></dependency>将json字符串...

2019-05-27 10:06:39 1731

原创 通过java编程 不使用 XML 构建 SqlSessionFactory

如果你更愿意直接从 Java 代码而不是 XML 文件中创建配置,或者想要创建你自己的配置构建器,MyBatis 也提供了完整的配置类,提供所有和 XML 文件相同功能的配置项。考虑到官网所写的不是很详细,踩了挺多坑,所以特写此文章记录下来。@Test public void testMamin() throws Exception { //创建连接池 ...

2019-05-23 16:29:34 1550

原创 zookeeper分布式锁实现逻辑

获取锁过程:1、在zookeeper创建一个持久节点lock2、ClientA应用访问时往该lock节点下创建一个临时节点lock-0013、ClientB应用访问时往该lock节点下创建另一个临时节点lock-002,并查找所有节点后排序, 判断该节点是否属于lock节点下的第一个临时节点,如果是,则获得锁, 如果不是则监听上一个节点lock-001,直到lock-...

2019-05-15 20:54:51 164

原创 记使用广度优先算法分析日志调用链路

由于应用系统的日志都是发到mq,以便使用flink进行分析,为了分析应用系统每次请求的调用链路,需求设计算法去梳理这些散落的日志节点,每条日志都带traceId 作为标识一次调用的日志。如下为一次请求调用的服务和依赖的资源ServiceA-ServiceB-ServiceC-ServiceD-ServiceEServiceA-ServiceB-F(hbase)ServiceA-H(re...

2019-05-07 19:43:36 263

原创 JVM 内存管理-----JVM如何判断对象已死

分享前抛出几个问题?▪ 如何判断一个对象是否存活着?▪为什么java堆内存要分代?▪一个对象从创建到被回收经历了哪些过程,如果是很大的对象呢?▪哪些情况会报outofMemoryError,StackOverFlowError?▪Jvm调优的配置参数,你都知道么? 一、对象已经死了么?▪引用计数法?▪可达性分析? 引用计数法对象有被引用,则引用计数器...

2018-08-05 09:30:01 176

原创 parallel Scavenge 收集器

简介:      新生代收集器,复制算法,并行收集,面向吞吐量要求(吞吐量优先收集器)。      吞吐量=用户代码运行时间/(用户代码运行时间+垃圾回收时间)      -XX:MaxGCPauseMillis:控制最大垃圾收集停顿时间,大于零的毫秒数。      -XX:GCTimeRatio:吞吐量大小,0到100的整数,垃圾收集时间占总时间的比例,计算1/(1+n)gc时间...

2018-07-29 09:47:38 268

原创 关于robot framework调用python

最近在做部门的自动化测试研究,在选型的时候主要考虑到以下几点: 1、可以扩展,支持自己写python脚本,以便特殊场景可以调用 2、支持特殊控件,下拉框,树形等控件 3、支持数据库,方便特殊场景检验 4、支持多个浏览器 刚好这几点rf都是满足的。 今天想跟大家分享以下自动化测试rf调用原生python怎么写,怎么封装关键字。

2017-09-15 21:47:13 6326 5

原创 The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class

问题:Myeclipse:The typejava.lang.CharSequence cannot be resolved. It is indirectly referenced fromrequired .class files解决方法:JDK1.8版本太高,降低一下JDK版本,降为1.6properties-Java builedpath-libraries

2017-05-07 16:22:53 2347

原创 设计模式之命令模式

命令模式定义:将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。应用场景:某公司需要制作有6个插槽的遥控器,遥控器上每个插槽对应两个按钮,分别是开和关,用来控制用户屋内的各种设备的开关,包括电灯、微波炉等等,他们希望,电灯或者其他设备的插头插进遥控器的任意一个插槽,遥控器都能实现对该设备的控制。分析:既然需要电灯或者其他设备的插

2017-04-04 19:56:50 196

原创 设计模式之工厂方法模式

工厂方法:定义一个创建对象的接口,但由子类决定实例化的类是哪一个,工厂方法让类把实例化推迟到子类。先画出UML类图来理捷定义:应用场景:某披萨连锁公司想要拓展业务,使得更多的加盟店能够加入进来,但是他们希望,要保留总公司一些基本制作流程,以便能保持品牌效果,同时还要满足地域差异而带来的口味不同。分析该场景:根据总公司的要求,加盟店需要保持总公司的基本创建步骤,同时又

2017-04-03 18:05:49 190

原创 设计模式之单例模式

单例模式:确保一个类只有一个实例并提供一个全局访问点技术应用:线程池,缓存,对话框,日志对象,充当打印机真实场景应用:某食品有一个工业强度巧克力锅炉控制器,比如锅炉已经满了还继续放入原料,或者锅炉内还没放入原料就开始空烧。这样的话,如果同时存在两个控制器实例的话,那么很可能会发生很糟糕的事情。于是,我们开始对单例模式的探讨。单例类特点:1、对构造方法私有化package

2017-04-02 15:16:28 175

原创 设计模式学习之策略模式

策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的用户。有这样一个情景:      游戏公司要开发一款游戏,希望游戏界面上有一些鸭子,鸭子具有他本身的一些行为,包括飞,叫,跑等等。     于是我们这么设计,建立一个Duck接口,写几个飞,跑,叫的公共方法,那么接下来我们不同类的鸭子就实现这个接口,比如绿头鸭,草鸭等。这个就

2017-04-02 10:39:46 183

原创 设计模式之观察者模式

自学设计模式,陆续将不断更新。

2017-03-26 16:48:09 244

转载 Java编程中“为了性能”一些尽量做到的地方

1、尽量在合适的场合使用单例2、尽量避免随意使用静态变量3、尽量避免过多过常的创建Java对象4、尽量使用final修饰符5、尽量使用局部变量6、尽量处理好包装类型和基本类型两者的使用场所7、慎用synchronized,尽量减小synchronize的方法8、尽量使用StringBuild和StringBuffer进行字符串的链接9、尽量不要使用finalize

2016-04-28 21:06:17 264

转载 成为Java顶尖程序员 ,看这11本书就够了

“学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:  1.能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料  2.对着书上的代码自己敲的时候方便  “看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的

2016-04-28 20:16:34 692

原创 重构--1

第一章 重构,第一个案例1、a、任何不被修改的变量都可以当成参数传入新的函数b、如果只有一个变量会被修改,我可以把它当做返回值2、重构技术就是以微小的步伐修改程序,如果你犯下错误,很容易便可发现它3、绝大多数情况下,函数应该放在它所使用的数据的所属对象内。

2016-04-27 22:20:01 284

原创 2016新年计划

2016新年计划

2016-02-13 20:11:11 342

原创 实习--实习第一天

第一天实习的心情是紧张而激动的,由于第一天怕迟到给人印象不好,早早的去搭公交,竟然提早一小时在公司门口等。刚进公司,人事给了一份公司制度表,并详细解读了,也许是没见过这么庄重的公司制度吧,其实内心还是充满敬意的。接下来便是让我们填了一些材料以及在公司的保密协议上签字等。就这样,一早上就过去了。公司的午餐是统一定的,蛮喜欢这种气氛的,一群人一起拿饭,吃饭。       习惯了午睡,挺担心自己会睡

2015-07-15 21:52:28 802 3

原创 fragment1---一个fragment的简单实例

创建一个Fragment和创建一个Activity很类似,继承Fragment类,重写生命周期方法。

2015-05-28 22:24:43 370

原创 用struts2写一个helloworld

本文原创,转载请注明出处。。首先,配置web.xml<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns

2015-05-23 19:01:02 332

原创 Task schedule(hdu4907)

Task schedule(hdu4907)Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1171 Accepted Submission(s): 486Problem Description有一台机器,并且给你这台机器

2015-01-29 11:05:01 347

原创 poj1731Orders

http://poj.org/problem?id=1731OrdersTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 9504 Accepted: 5803DescriptionThe stores manager has sorted

2014-10-18 15:04:45 286

CDN技术详解

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络..

2017-09-06

pip-9.0.1.tar.gz

4、打开命令提示符(开始---cmd 回车)进入 C:\pip-1.3.1目录下输入: C:\pip-1.3.1 > python setup.py install (如果提示 python 不是内部或外部命令!别急,去配置一下环境变量吧) 修改我的电脑->属性->高级->环境变量->系统变量中的 PATH 为: 变量名:PATH 变量值:;C:\Python27 5、再切换到 C:\Python27\Scripts 目录下输入: C:\Python27\Scripts > easy_install pip

2017-09-03

setuptools-36.3.0

setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它 是一组Python的 distutilsde工具的增强工具(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况。

2017-09-03

selenium-api-中文

selenium,api,中文, 如,下拉框选择: Select select = new Select(driver.findElement(By.id("select"))); select.selectByVisibleText(“A”); select.selectByValue(“1”); select.deselectAll(); select.deselectByValue(“1”); select.deselectByVisibleText(“A”); select.getAllSelectedOptions(); select.getFirstSelectedOption();

2017-09-03

ios录音转Mp3

2016-07-12

SQLite权威指南

最近对 SQLite 很感兴趣,认真学习有一个多月了。 学习时基本找不到既好又系统的中文文章,也买不到好的中文书籍,看来 SQLite 在国内还 是不够流行,这么好的东西,可惜了。 以我中等偏下的眼界, 《TheDefinitive Guide to SQLite》是我所见到的最好的“SQLite 入门+ 大全”了,可惜也是英文的。实在找不到别的,也只好看它了,尽管我英语很不好。 由于英语很不好,又因为是打字员出身的干部,所以多年来养成了一个更不好的毛病,就是 在不得不看英文资料时总喜欢一边看一边翻,主要是怕下次再看时还是看不懂。看《The Definitive Guide to SQLite》时这个毛病也没改,当然了,看的时候就是挑着看的,翻的也只 是书中的一小部分了。 一般情况下看完也就看完了, 很少有 “下次再看” 的机会, 这次例外。 由于越学越觉着 SQLite 好玩,就想向身边的人也介绍一下,就“再看”了。越看越羞愧,本来英语就差,还随看随 翻,结果可想而知。但由于没什么动力,也就无意再重新润色了,就这样吧,反正也没什么 人看,估计遗害不会太广。

2015-05-08

android内核剖析

“ 内核剖析” 乍一听起来挺吓唬人的,但这个词语存在两个问题,第一个是什么才能称为内核? 另一个是“谁” 才有能力或者有机会写一本“ 内核剖析” 的书? 本书之所以在前言中提出这个问题,就是为了不吓唬大家,并给大家一种信心,相信自己有能 力理解本书的内容。 首先来回答第一个问题,什么才能称为内核?大家都知道,Linux内核的本质包含了线程调度、 内存管理及输入/输出管理,那么请问Windows操作系统的内核是什么呢?我们常说,苹果的操作 系统Mac OS X 的内核是基于UNIX的,那么可以说Mac O S 的内核是UNIX吗? 如果仅从线程调度、内存管理,以及输入/输出的角度来区分Windows和Mac OS系统的话,能 很明显地感觉到缺少点什么,那就是图形用户接口(GUI), Android、Windows、Mac OS三者的操 作方式完全不同,因此,对于图形操作系统而言,本人倾向于将GUI也划归到内核的范畴,这也就 是为什么本书使用“ 内核” 作为标题的原因。本书所谓的“ 内核剖析” 的核心也正在于Android所 设计的GUI框架的内部原理。Android操作系统是基于Linux实现的,本书并不是去剖析Linux。 下面再来回答第二个问题,即“谁” 才有能力或者有机会写一本“ 内核剖析” 的书?如果有人 告诉你,一个非微软公司的技术人员写了一本Windows操作系统内核剖析的书,你信吗?反正我不 信,原因是,没有阅读过Windows内核源码的人是不可能写出这样的书的,幸运的是Android的源 码是开放的。可是源码开放就一定能写这样一本书吗? 在本书截稿时,我未曾见过一本真正分析Android内核的书,大多数书籍都是关于Android SDK 应用开发的。在过去的工作经历中,常常遇到一些同事,由于对Android内核不了解,导致在应用 程序开发时遇到一些无法解决的问题。遗憾的是,IT 类优秀书籍本来就很少,中文原创的更少, Android领域的几乎没有,本人之前也写过一本《Android程序设计》,坦白地讲,当我对Android 内核彻底剖析后,觉得那本书有“误人子弟” 的成分。因此,我才决定要将自己对Andmid的理解 分享给更多的读者。

2015-05-08

安卓游戏2048源代码

安卓游戏2048源代码

2015-03-06

仿微信的ListView item可左右滑动效果

仿微信的ListView item可左右滑动效果

2015-03-06

高仿京东商app

高仿京东商城 public class AppManager { private static Stack&lt;Activity&gt; mActivityStack; private static AppManager mAppManager; private AppManager { } 单一实例 public static AppManager getInstance { if mAppManager null { mAppManager new AppManager ; } return mAppManager; } 添加Activity到堆栈 public void addActivity Activity activity { if mActivityStack null { mActivityStack new Stack&lt;Activity&gt; ; } mActivityStack add activity ; } 获取栈顶Activity(堆栈中最后一个压入的) public Activity getTopActivity { Activity activity mActivityStack lastElement ; return activity; } 结束栈顶Activity(堆栈中最后一个压入的) public void killTopActivity { Activity activity mActivityStack lastElement ; killActivity activity ; } 结束指定的Activity public void killActivity Activity activity { if activity null { mActivityStack remove activity ; activity finish ; activity null; } } 结束指定类名的Activity public void killActivity Class&lt; &gt; cls { for Activity activity : mActivityStack { if activity getClass equals cls { killActivity activity ; } } } 结束所有Activity public void killAllActivity { for int i 0 size mActivityStack size ; i &lt; size; i++ { if null mActivityStack get i { mActivityStack get i finish ; } } mActivityStack clear ; } 退出应用程序 public void AppExit Context context { try { killAllActivity ; ActivityManager activityMgr ActivityManager context getSystemService Context ACTIVITY SERVICE ; activityMgr restartPackage context getPackageName ; System exit 0 ; } catch Exception e { } } }">高仿京东商城 public class AppManager { private static Stack&lt;Activity&gt; mActivityStack; private static AppManager mAppManager; private AppManager { } 单一实例 public static AppManager getInstance { if mAppManager null { mAppManager new AppManager ; [更多]

2015-03-06

空空如也

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

TA关注的人

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