设计模式1单例模式
模式定义:
保证一个类只有
一个示例,并且提供一个全局访问点
场景:
重量级的对象,不需要多个实例,如线程池,数据库连接池。
懒汉模式:延迟加载,只有在真正使用的时候,才开始实例化。
1)线程安全问题
2)double check 加锁优化
3) 编译器(JIT),CPU有可能对指令进行重排序, ...
手撸IOC框架
IOC遵循是Spirng中对依赖倒转原则的原则,依赖倒转原则告诉我们:
上层模块不应该依赖底层模块,他们都应该依赖于抽象
抽象不应该依赖于细节,细节应该依赖于抽象
先读取bean的XML配置文件,然后使用beanId查找bean配置,并获取配置文件中class地址,得到地址后使用Java反射技术 ...
pow(x,n)
实现 pow(x, n) ,即计算 x 的 n 次幂函数。
示例 1:
输入: 2.00000, 10
输出: 1024.00000
示例 2:
输入: 2.10000, 3
输出: 9.26100
示例 3:
输入: 2.00000, -2
...
线程池代码
代码的注释都写在了这里
-
1. 线程的生命周期ExecutorService主要功能
12345678910111213141516171819202122232425262728293031323334353637/** * 履行Ruannable类型的任务 * @param c ...
JVM的类加载过程(1)
当我们执行java命令的时候,java命令是怎么执行的呢。
12345678910111213141516171819202122232425package com.wzl.jvm.math;/** * @ClassName Math * @Description Math * @Author wu ...
设计规约
【强制】存储方案和底层数据结构的设计获得评审一致通过,并沉淀成为文档。 说明:有缺陷的底层数据结构容易导致系统风险上升,可扩展性下降,重构成本也会因历史数据迁移和系统平滑过渡而陡然增加,所以,存储方案和数据结构需要认真地进行设计和评审,生产环境提交执行后,需要进行double check。 正例: ...
工程结构
(一) 应用分层
【推荐】图中默认上层依赖于下层,箭头关系表示可直接依赖,如:开放接口层可以依赖于Web层,也可以直接依赖于Service层,依此类推:• 开放接口层:可直接封装Service方法暴露成RPC接口;通过Web封装成http接口;网关控制层等。• 终端显示层:各个端的模板渲染并执行显示 ...
MySQL数据库
(一) 建表规约
【强制】表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsigned tinyint(1表示是,0表示否)。 说明:任何字段如果为非负数,必须是unsigned。 注意:POJO类中的任何布尔类型的变量,都不要加is前缀,所以,需要在设置从is_xxx到Xxx的 ...
安全规约
【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。 说明:防止没有做水平权限校验就可随意访问、修改、删除别人的数据,比如查看他人的私信内容。
【强制】用户敏感数据禁止直接展示,必须对展示数据进行脱敏。 说明:中国大陆个人手机号码显示为:137****0969,隐藏中间4位,防止隐私泄露。
...
单元测试
【强制】好的单元测试必须遵守AIR原则。 说明:单元测试在线上运行时,感觉像空气(AIR)一样并不存在,但在测试质量的保障上,却是非常关键的。好的单元测试宏观上来说,具有自动化、独立性、可重复执行的特点。 ⚫ A:Automatic(自动化) ⚫ I:Independent(独立性) ⚫ R:Re ...