自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(188)
  • 收藏
  • 关注

原创 select poll epoll

但是select最多支持1024个文件,需要遍历描述符。epoll支持超过1024个文件,而且不需要遍历描述符。poll支持超过1024个文件,需要遍历描述符。

2023-02-21 14:28:56 192 1

原创 Kafka学习

两者模式。

2023-01-05 10:41:44 234

原创 MIT 6.824分布式系统

采用Go来开发,本章做第一个Lab。

2022-12-14 13:11:20 363

原创 zookeeper学习

zookeeper类似于一个按摩会所app,生产者相当于技师,消费者相当于去按摩的顾客,而app上面就保存了几号技师available,技师有可能当天请假啥的,当前技师是不是available,就需要通知给客户了。zookeeper只存储一些简单的配置信息,因为每个Node只能存储1MB的数据,所以不能像UNIX一样存储海量信息。统一命名服务,类似于nginx,还有负载均衡也类似nginx。确认接口的反思,能不做就不做,绝对不做。

2022-12-14 11:56:43 185

原创 手动导入vue.js和vue-router的坑

这个就是要如下引入js文件,加个type="module",因为是ES6语法。渐进式框架支持js文件导入,记录下坑点。

2022-11-10 10:52:39 644

原创 葛一鸣 jvm实战

thread 查看耗费cpu的代码在哪一行。dashboard 看板。

2022-09-03 17:46:42 211

原创 金刚经说什么

人天福德枉成痴:求福报而学佛,不如求智慧而学佛。

2022-08-25 23:43:13 136

原创 构建和调试OpenJDK

想手动构建和调试jvm的gc过程,写博客记录下自己的过程,也是为了方便自己找错误:

2022-08-20 20:08:30 163

原创 jvm的Finalizer

就是会有一个finalizer守护线程,有一个finalize队列,然后每次都弹出一个,执行finalize方法,然后被gc回收。

2022-07-20 15:48:44 115

原创 java虚拟机规范阅读

https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf

2022-07-12 22:02:36 415

原创 Servlet 规范阅读 JSR340

?

2022-06-19 22:22:08 119

原创 Jquery的Sizzle以及文档元素nodetype

常用的nodetype有两种:1和9,1代表element_NODE,比如div,a9代表document_NODE,比如我们常用的document

2022-05-15 11:25:40 180

原创 手写简单版的powermock,写着玩

因为觉得powermock的运用cglib来修改字节码挺好玩的,所以这几天自己研究了下,还是那样,基于TDD来编写powermock,写这篇文章的目的是为了厘清自己的思路首先powermock的核心就是when和thenReturn这俩东西,when的时候,其实就是打了个桩:public static <T> OngoingStubbing<T> when(T methodCall) { //return Mockito.when(methodCall)

2022-05-08 12:29:04 1561

原创 Chrome的小技巧

跳到控制台 ctrl shift j;console.table(arrays) 易于查看,表单样式查看当前调用栈 console.trace(XX)消除debugger的断点,右键 never pause therebreak on click 是监听器xhr的断点,用来断点url包含指定字符串ctrl shift p : undoc right bottom...

2022-04-23 19:57:53 66

原创 狂神springcloud笔记

eureka服务发现注册,类似于zookeeper主要注解有还有discoverClient用来获取其他client的信息,比如hosteureka的server集群,为了容灾

2022-04-16 20:16:59 1795

原创 手写jQuery的bind和extend

(function(){ var jQuery = function(selector){ return new jQuery.fn.init(selector) }; function markAll(dom,that){ var res = that; //���dom��һ���б�����ô���Ǿ���Ҫѭ������dom��ÿһ���ڵ㡣�ڵ�ı�������ֵ��init������ for(var i = 0;i &lt.

2022-04-03 20:40:07 1596

原创 TDD手写简易xUnit框架

读了一遍TDD的书,跟着它实现了一个简单的框架,其实大师的方法,就是列出待办事项,不停划去和新增待办事项。代码在spring-code/src/test/java/tdd/test at main · CodePpoi/spring-code · GitHub既然是unit test,首先就得有TestCase这个类:package tdd.test;import org.junit.rules.TestRule;import tdd.test.back.After;import t.

2022-03-30 20:52:57 266

原创 使用TDD手写AOP代码

github地址:GitHub - CodePpoi/spring-code学习了TDD测试驱动,觉得得拿个东西来练手,想起之前写的AOP一直写不出来,就用测试驱动的方法来完成,没想到还真写出来了。首先记录自己写测试的时候,列出的代办事项,后面的d表示done,完成的意思//调用时获得的是代理对象//先执行实际方法d//後执行代理对象的方法 before + 1 d//把代理对象改为JDK代理 d//调用测试通过 d//把before和after移动到beforeAdvice和A

2022-03-27 15:17:39 409

原创 TDD测试驱动笔记

三个策略:伪实现: 返回一个常量,使得测试样例显明实现: 真正的代码实现三角策略:

2022-03-22 23:21:28 83

原创 JavsScript高性能设计

screen 客户端信息,比如客户电脑的屏幕weight heighthistory backward forward前一页 后一页xhr 先open再sendpost时,用formdata传递参数load progress等事件debugger调试assert(condition , message)表单;form.addEventListener("submit", (event) => {event.preventDefault();})...

2022-03-20 16:27:43 150

原创 Spring Transactional

有7种,分3类死活不要事务NEVER,NOT_SUPPORTED可有可无的SUPORTS

2022-01-26 17:49:41 156

原创 CSS Dinner

自己忘了,参考下他的博客CSS Diner选择器练习网站答案_IcerZengJC-CSDN博客_cssdiner答案01. plate02. bento03. #fancy04. plate apple05. #fancy pickle06. apple.small07. orange.small08. bento orange.small09. plate , bento10. *11. plate *12. plate + apple13. bento...

2022-01-23 20:58:33 468

原创 Spring之DispatchServlet

先谈谈HttpServletRequest里面有个coreRequest,其实这个是Tomcat通过门面模式封装的一个RequestcoyoteRequest里面有个headers,从Mime就能知道,这个是浏览器头,因为我们从浏览器发出的请求=== MimeHeaders ===host = localhost:8080connection = keep-alivecache-control = max-age=0sec-ch-ua = " Not;A Brand";v=..

2022-01-17 21:37:27 522

原创 Session的相关问题

工作中想用http session,但是遇见了很多问题Cookie和Session其实两者分不开的,Cookie存储SessionId,然后Session的内容存在服务器中,如下图SessionStorage其实这是浏览器(也即客户端)的session存储,和后端(服务端)的session是两回事。SessionStorage和LocalStorage都存储在本地,两者差别见Window.sessionStorage - Web API 接口参考 | MDNSessionS.

2022-01-16 14:22:06 492

原创 如何阅读一本书 总结

四个问题:(1)整体来说,这本书到底在谈些什么?(2)作者细部说了什么,怎么说的?(3)这本书说得有道理吗?是全部有道理,还是部分有道理?(4)这本书跟你有什么关系?“你必须读出言外之意,才会有更大的收获。”此外,我们也鼓励你“写出言外之意”对于规则是否了解得够清楚,是能不能拥有技巧的关键。如果你不知道规则是什么,就根本不可能照规则来行事了。而你不能照规则来做,就不可能养成一种艺术,或任何技能的习惯。为了要忘掉这些单一的动作,一开始你必须先分别学会每一个单一的动作。

2022-01-01 22:16:12 238

原创 Vue源码学习 自己实现vue的小功能

现在发现,网上真是卧虎藏龙,厉害的人好多,可以多看看中文社区,比如Linux,Vue中文社区参考Object的变化侦测 | Vue源码系列-Vue中文社区let car = {}let val = 3000Object.defineProperty(car, 'price', { enumerable: true, configurable: true, get(){ console.log('price read') return val }, s

2022-01-01 16:21:34 457

原创 Junit的扩展

TestListener用来收集测试结果,并以某种方式输出,比如ResultPrinter,用来打印测试的结果,失败数,成功数/** * @see junit.framework.TestListener#addError(Test, Throwable) */ public void addError(Test test, Throwable e) { getWriter().print("E"); } /** * @see

2021-12-26 00:12:39 352

原创 SQLite源码学习笔记

参考https://huili.github.io/架构如下os interface好像是在os_win.c里面

2021-12-23 23:19:26 1933

原创 Hibernate笔记

hibernate的概念通过sessionResistry来buildSessionsessionFactory通过openSession创建sessionsession通过beginTransaction来创建transactionsession有缓存通过flush,在事务提交前(beginTransaction),把缓存数据同步到SQL,不过同步必须通过提交事务,commit,才能让数据库发生变化; 光flush是不会改变数据库的flush会发送SQL语句,但不会提交事务

2021-12-01 00:13:45 850

原创 Maven学习

Maven是java写的仓库分类仓库分两种:本地和远程,远程分三种:中央仓库,中央仓库的镜像(比如五大洲各有一个),私服(公司内部,局域网使用)先查本地仓库->再查私服->再查镜像->再查中央仓库,无论哪种,最后本地都会有一份POM文件Project Object Model项目对象模型,modelVersion只能是4.0.0groupId公司域名的倒写,比如com.baidupackaging 项目打包类型,比如jar,war,.

2021-11-24 23:30:44 141

原创 黄帝内经学习

生病半年了,好好学习吧,给自己加油人的身体结构即命运曲黎敏《黄帝内经》_哔哩哔哩_bilibili脾的外现是意肾的外现是志两者合成意志肝肾 主聪明真法难闻斋戒 精神上的,没有私心杂念,不被欲望控制的态度洞察力对天地自然的领悟买东西不买南北南火北水东木西金中土 化,开花到结果肾精要足,藏住肾精足 才能有定力 我草,难道是习能胜控德胜也要肾精足智力也是肾精的体现健康长寿靠自己...

2021-11-08 00:07:20 114

原创 UNIX编程艺术笔记

1.9 态度也要紧看到该做的就去做,短期来看似乎是多做了,但从长期来看,这才是最佳捷径软件设计和实现,应该是一门充满快乐的艺术,一种高水平的游戏如果有足够多眼睛的关注,所有bug都无处藏身Unix要繁荣,就必须采用吸纳低价而灵活的方案的诀窍,而不是去反对他们...

2021-11-04 23:41:48 2147

原创 CSAPP 读书笔记 第七章

链接链接就是将不同代码,数据文件组合成一个单一文件的过程在现在系统中,链接是由叫链接器的程序自动执行的链接过程如下符号解析: 把符号引用(比如main.c中的swap())和符号定义(比如swap.c中的swap定义)联系起来重定位:链接器通过把每个符号定义与一个存储器位置(我猜想是内存地址?)联系起来,然后修改所有这些符号引用为对应地址链接的过程中,用到的.o目标文件会被拷贝到可执行文件中, 最终形成一个文件链接器会维持3个集合,如果a调用b,那么gcc ...

2021-11-02 00:08:05 154

原创 手写IOC容器总结

一个超级简略的IOC容器,代码见:spring-code/src/main/java/com/IOC at main · CodePpoi/spring-code · GitHub参考了手写一个最简单的IOC容器,从而了解spring的核心原理-技术圈一开始是自己写ClassLoader,结果发现自己写的ClassLoader不能加载到放在类上面的注解,我猜测是defineClass()有问题,因为字节码是一样的(通过工具看了),后面直接放弃自定义ClassLoader,采用UrlClassLoa.

2021-10-30 11:02:05 145

原创 程序员的职业素养笔记

这本书,其实很多地方不咋需要读,我觉得比较重要的点列出如下:我看重的并不是问题的难度,而是解决问题的方式、步骤及反思的程度我曾因不负责任尝尽了苦头,所以明白尽职尽责的重要意义教学相长,最好的办法就是与指导你的人交流这些内容凌晨3点或者焦虑时写下的代码,一般都很容易出错调试时间和编码时间一样昂贵,经常出bug的软件开发人员不专业解决问题,有时候需要,回家,吃顿好的,上床睡觉,再在第二天清醒后洗个澡,离开一会最糟糕的是明知道没有完成任务,却宣称已经完成帮助

2021-10-24 00:30:58 64

原创 Jetty服务器

Emm 发现光有google还是不够的,下载东西,比如Adobe,还是百度好用。。。。。

2021-10-22 11:30:41 45

原创 JSP 学习

入职的公司说要用JSP,自己学一学,咋感觉JSP算前端JSP本质本质上是个servlet程序,当用户第一次访问jsp页面时,Tomcat会把jsp页面翻译成一个java源文件,并把它编译成.class文件字节码而且我觉得jsp其实很类似于htmlJSP的Page属性常用属性如下图以及JSP脚本1. 声明脚本 <%! %> 里面添加java代码, 声明变量和方法2.表达式脚本3. 代码脚本<% %&...

2021-10-20 23:10:20 92

原创 Spring源码AOP 篇

我也不想熬夜,但是一天啥也不干,太难受了,今天一天都在发神经所有拦截器都实现Advice接口,或者说是个Advice对象,比如MethodAdvice代理对象通过addAdvice来添加拦截器,调用代理对象方法时会先调用MethodBeforeAdvice的before方法aop xml context配置拦截器手写spring mvc常用的变量放到缓存Map中先学xml版本的spring源码看一看addAdvice方法processon看一看AOP和IOC.

2021-10-09 19:38:22 96

原创 按键精灵学习

参考视频:按键精灵官方教程 入门教程全集 2020最新win10系统录制 按键精灵2020教学视频_哔哩哔哩_bilibili通过双手完成的动作,按键精灵都能替你完成不会写代码的可以录制脚本,也可以下载大神的脚本,导入后自己跑当然后面会有代码的编写:...

2021-10-09 00:45:01 529

原创 MIT6.S081 Lab11 network

就是实现网卡的发送(e1000_transimit)和接收(e1000_recv),两者的实现基于两个队列(tx和rx),参考MIT 6.S081 Lecture Notes | Xiao Fan (樊潇)的第17章节, 下图NIC(network interface card),就是网卡队列Ring的结构如下,要发送消息时,tx的Tail向前移动一格;如果一个消息已经发送完毕,那么tx的Head向前移动一格;接收到一个消息时,head向前移动一格;软件读取tail指向的mbuf...

2021-10-07 20:41:54 298

空空如也

空空如也

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

TA关注的人

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