自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dali的博客

dali的博客

  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 后端好文记录

定时器:https://www.cnkirito.moe/timer/kafka时间轮:https://blog.csdn.net/u013256816/article/details/80697456G1:https://tech.meituan.com/2016/09/23/g1.htmlhttp://www.importnew.com/27793.html多线程:https://ww...

2019-05-25 13:36:02 148

转载 GC Roots

在java中,可作为GC Roots的对象有:1.虚拟机栈(栈帧中的本地变量表)中引用的对象;2.方法区中的类静态属性引用的对象;3.方法区中常量引用的对象;4.本地方法栈中JNI(即一般说的Native方法)中引用的对象...

2019-05-07 10:12:12 1316

转载 GC新生代对象晋升到老年代情况总结

对象优先在Eden分配,且新生代对象晋升到老年代有多种情况,现在做一个总结:(1)、Eden区满时,进行Minor GC,当Eden和一个Survivor区中依然存活的对象无法放入到Survivor中,则通过分配担保机制提前转移到老年代中。(2)、若对象体积太大, 新生代无法容纳这个对象,-XX:PretenureSizeThreshold即对象的大小大于此值, 就会绕过新生代, 直接在老年...

2019-04-23 20:29:04 1417

原创 Java 中List/Map/Stack/LinkedList的方法

经常记不清楚常用集合的添加和删除等接口,在这里记一下ListE set(int index, E element);boolean add(E e);void add(int index, E element);boolean addAll(Collection<? extends E> c);E remove(int index);boolean removeAll...

2019-04-23 20:15:08 154

原创 ThreadPoolExecutor 的4种拒绝策略

ThreadPoolExecutor的拒绝策略是在工作队列满并且线程个数达到max时,再次添加时触发。通过设置RejectedExecutionHandler,RejectedExecutionHandler有四个已有的实现CallerRunsPolicy:在调用线程执行任务AbortPolicy:拒绝任务,并抛出异常,为默认的策略DiscardPolicy:抛弃当前任务Discard...

2019-04-23 17:49:30 710

原创 Redis/Zookeeper/Kafka

Redis:持久化RDB快照,快照过程如下:使用fork函数复制一份当前进程(父进程)的副本(子进程)父进程继续接受和处理(采用copy-on-write策略),子进程开始将内存数据写入临时文件子进程写入完成之后,用临时文件替换旧的RDB文件AOF开启AOF持久化后,每执行一条更改,将命令写入磁盘的AOF文件。AOF重写:为了解决AOF文件冗余的问题,触发时机,当前大小超过上...

2019-04-23 17:40:28 738

原创 RateLimiter限流 - 令牌桶

简介限流算法除了令牌桶还有其他的,但据我所知比较优雅的是令牌桶算法。令牌桶算法的基本思路是:假设有一个桶存放令牌,按照固定频率(1/qps)向桶中放入令牌,处理请求时,先从令牌桶中获取令牌,如果获取到直接执行,否则等待,直到获取到所需令牌。guava 中的 RateLimiter就是基于令牌桶实现的,下面主要描述具体实现,使用的细节不再赘述细节这里有几个细节:令牌桶是有容量限制的...

2019-04-23 17:40:06 1032

原创 Java并发编程

并发编程的常用工具:synchronizedvolatileReentrantLock/ReentrantReadWriteLockCountdownLatchCyclicBarrierSemaphore

2019-04-23 17:23:04 107

原创 shutdownhook一个问题的调查

过程记录代码中在shutdown hook的过程中有使用到System.exit(1);但无法正确退出。在使用关闭钩子还要注意以下几点:不能在钩子调用System.exit(),否则卡住JVM的关闭过程,但是可以调用Runtime.halt()。不能再钩子中再进行钩子的添加和删掉操作,否则将会抛出IllegalStateException。在System.exit()之后添加的钩子无...

2019-04-15 17:55:39 482

原创 Java类加载机制(类加载过程)

最近感觉只是没有系统化,从类加载开始把一些只是梳理一下。类加载机制是做什么的

2019-04-08 22:35:29 114

原创 String/StringBuffer/StringBuilder的区别

简单区分String: 字符串,一旦创建不可更改StringBuffer:字符串构造器,可以修改字符串内容,线程安全StringBuilder:同StringBuffer,线程不安全String由于创建之后不可更改,所以改变String的操作其实是新生成了一个新的String对象,所以频繁改变的字符串建议使用StringBuffer/StringBuider。StringBuffer V...

2019-01-25 18:15:27 286

原创 访问其他机器kafka报错:connection xxx unsuccessful

记录一下解决问题的步骤:A机器要访问B机器上搭建的kafka首选确定B机器是否可以正常生产和消费B机器可以正常使用判断端口是否可用,使用telnet使用 telnet ip port,发现A/B机器均不能访问。在B机器上执行telnet 127.0.0.1 port 可以连接查看有无防火墙查询iptables,发现没有使用防火墙查资料发现可能需要修改 server.propert...

2018-11-07 16:46:12 591

原创 List/Map 遍历

List遍历方法有三种: 1. for-each 2. 迭代器 Iterator(ListIterator) 3. for首选for-each需要用到迭代器方法时用迭代器,比如next,remove(,add,set)在遍历过程中需要利用索引进行计算,或显示控制索引for 循环的时候用到了list.get(i),如果这个list不是ArrayList,而是LinkedList...

2018-02-23 17:52:54 785

原创 awaitility

Awaitility is a small Java DSL for synchronizing asynchronous operationshttps://github.com/awaitility/awaitility这个工具很容易的实现将异步操作同步化,在自动化测试的时候很方便,如:await().atMost(10, SECONDS).until(map::isEmpty);...

2018-02-23 16:30:03 266

转载 Git的各种Undo技巧

转载地址:https://tonydeng.github.io/2015/07/08/how-to-undo-almost-anything-with-git/GitHub的How to undo (almost) anything with Git这篇文章介绍了Git使用中的各种Undo技巧。任何版本控制系统中最有用的功能之一就是能够“撤销(undo)”你之前的错误。在Git中“undo”功能可...

2017-12-19 15:05:17 7612

原创 Block

介绍Block(块)是一种可在C、C++以及Objective-C代码中使用的语法闭包,借由此机制,开发者可将代码像对象一样传递,令其在不同上下文下运行。另外,在定义Block的范围内,他可以访问到其中的全部变量。

2017-02-28 11:25:31 211

原创 理解“类对象”

一个实例对象中的isa指向了“类对象”,这个类对象中存储了这个实例对象所属的类定义实例方法,变量,协议等。而这个类对象的isa指向了元类对象,这个元类对象定义了类对象本身所具备的元数据(比如类方法)。

2017-01-13 17:53:38 257

原创 Method Swizzling

Method Swizzling是Objective-C的一种黑科技,可以在在运行期,动态的用一份实现替换原有的方法实现。可以不修改源代码的情况下,改变类本身的功能。Method Swizzling 的原理下面直接摘抄了,别人写的非常好了。。。我们先来了解下 Objective-C 中方法 Method 的数据结构:typedef struct method_t *Meth

2017-01-05 16:15:56 212

原创 消息转发机制

本文主要摘自《Effective Objective-C》当对象收到无法解读的消息后,会启动“消息转发”(message forwarding)机制。消息转发分为三步:1. 动态方法解析2. 备援接受者2. 完整的消息转发机制动态方法解析对象在收到无法解读的消息后,首先调用下列方法:+ (BOOL)resolveClassMethod:(SEL)sel+ (BOOL)resolveInstanc...

2016-12-30 19:16:59 302

原创 单例

单例的实现+ (instancetype)sharedInstance { static dispatch_once_t once; static id _instance; dispatch_once(&once, ^{ _instance = [[self alloc] init]; }); return _instance;}

2016-12-23 11:16:29 157

原创 code/xib/storyboard

iOS界面开发无非就是这三种方法。演化的过程: code -> xib -> storyboard 各自优缺点:code优点: - 方便定位问题 - 不用打开xib和storyboard(在Xcode中打开这两个东西,特别比较复杂界面,体验不好) - 多人协作比较方便,diff和merge清晰明了缺点: - 代码比较繁琐,特别是屏幕多元化之后 - 确认效果必须得运行程序才可以看出来xi

2016-12-22 11:14:39 214

原创 内存管理

内存管理知识整理

2016-12-22 10:57:40 172

原创 UIPasteboard的使用

简单介绍UIPasteboard以及简单的函数使用

2016-06-01 16:57:13 4550

原创 iOS获取UDID问题

iOS唯一标识的一个替代方案:生成UUID,并存储在keychain,pasteboard,NSUserDefaults中,保证至少一个APP卸载后重装UUID不变

2016-05-09 20:58:47 8620

扫雷小游戏VC的实现(内含源代码)

这是一个自己暑期实习时编的小游戏,可能会有一些小BUG,但是还是基本实现了其功能。

2009-04-28

常微分方程答案(王高雄等编)

虽然答案是word形式的,但也能将就着看

2009-04-15

数学分析答案(复旦大学出版)

这是复旦大学出版的数学分析的全部答案(1~22章)

2009-02-26

空空如也

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

TA关注的人

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