- 博客(31)
- 收藏
- 关注
原创 《极客时间:代码精进之路》学习笔记
《极客时间:代码精进之路》学习笔记认知明确作为一名 Code Reviewer 的职责使用最直观的编码方式“好”代码与“坏”代码优秀的代码是“经济”的代码好的代码服务于整个软件生命周期优秀程序员的六个关键特质规范什么是编码规范?为什么需要编码规范?如何给代码起好名字?为什么需要一个好名字为什么需要命名规范?常见的命名方法如何取好名字?小结代码整理的关键逻辑给代码分块使用空白空间一行一个行为写好注释写好声明的八项原则处理好捕获异常经济为什么需要经济的代码?怎样避免过度设计?为什么写代码需要简单直观?如何让写代
2022-03-20 15:26:48
6484
原创 Spring 常见概念
IOC在 Java 基础中,我们往往使用 new 关键字来完成服务对象的创建。举个例子,我们有很多的 U 盘,它们都能够存储计算机的数据,但是它们可能来自不同的品牌,有金士顿(KingstonUSBDisk)的、闪迪(SanUSBDisk)的,或者其他满足 U 盘接口(USBDisk)规范的。如果我们用 new 方法,那么就意味着我们的接口只能用于某种特定品牌的 U 盘。USBDisk usbDisk = new KingstonUSBDisk();通过上面的操作,USBDisk 和 Kingsto
2022-03-19 17:09:37
415
原创 docker push 出现 [denied: requested access to the resource is denied]
问题执行 docker push xxx 镜像时遇到了如下错误:denied: requested access to the resource is denied原因在给镜像命名的时候,没有加上自己 docker hub 的用户名。解决方案在构建进行时,加上自己 docker hub 的用户名。再次执行命令 docker push callmeakyang/static_web,官网上可以看到推送成功。...
2022-01-03 10:35:36
1070
原创 Java各种锁的理解
Java各种锁的理解1. 乐观锁 VS 悲观锁2. 自旋锁 VS 适应性自旋锁3. 无锁 VS 偏向锁 VS 轻量级锁 VS 重量级锁4. 公平锁 VS 非公平锁5. 可重入锁 VS 非可重入锁6. 独享锁 VS 共享锁Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。Java中往往是按照是否含有某一特性来定义锁,通过特性将锁进行分组归类,如下图所示:1. 乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库中
2021-01-25 14:59:15
358
原创 深入理解CAS机制
深入理解CAS深入理解CAS定义与原理缺点CAS出现ABA问题示例代码解决ABA问题深入理解CAS定义与原理 CAS:比较并交换(CompareAndSet),它将指定内存位置的值与给定值进行比较,如果两个值相等,就将内存位置的值改为给定值,如果不是就一直循环。CAS涉及3个元素:内存地址,期盼值和目标值。只有内存地址对应的值和期望的值相同时,才把内存地址对应的值修改为目标值。CAS在JAVA中的底层实现(Atomic原子类实现)Unsafe类。Unsafe类是CAS的核心类,由JDK自动加
2021-01-21 13:19:59
279
原创 Zookeeper面试题
Zookeeper超详细面试题1. ZooKeeper是什么?Zookeeper是一个分布式的,开放源代码的分布式应用程序协调服务,是Google的Chubby的一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态。根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高校、功能稳定的系统提供给用户。客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了监听器,这个监听器也是由所连接的Zookeeper机器来处理。对于写请求,这些请求会同时发给其他zookeeper
2020-11-25 14:14:40
1544
原创 MySQL使用日期、聚集函数操作数据需注意事项
使用日期函数过滤数据注意事项无论什么时候指定一个日期,不管是插入或更新表值还是用WHERE字句进行过滤,日期必须为yyyy-MM-dd;年份应该总是使用4位数字的年份,虽然MySQL会处理00-69为2000-2069,处理70-99为1970-1999,但使用完整的4位数字年份更可靠。使用SELECT cust_id, order_num FROM orders WHERE order_date = '2005-09-01';,此SELECT语句会正常运行,它会检索一个订单记录,该订单记录的o
2020-11-20 13:02:30
186
原创 Redis常见面试题
Redis最新面试题及答案概述什么是RedisRedis有哪些优缺点为什么要用 Redis /为什么要用缓存为什么要用 Redis 而不用 map/guava 做缓存?Redis为什么这么快数据类型Redis有哪些数据类型Redis的应用场景持久化什么是Redis持久化?Redis 的持久化机制是什么?各自的优缺点?如何选择合适的持久化方式Redis持久化数据和缓存怎么做扩容?过期键的删除策略Redis的过期键的删除策略Redis key的过期时间和永久有效分别怎么设置?我们知道通过expire来设置key
2020-11-16 08:11:56
647
原创 苹果手机验机教程
一、快递开封1、首先当着快递员拆开外包装,在未拆手机盒膜的时拿捏手机盒,如果机盒棱角分明,进行下一步看封装。2、封边在手机盒四个棱边上,长封边工整划一无歪斜、手机膜亮丽光滑贴实无趋纹、膜上气孔排列整齐有规律,进行下一步。包装分两种,第一种是机器塑封包装,正品原装封口非常平整,外观干净整洁。如果是拆过之后手工塑封,封口粗糙,缝隙也比较大。第二种是贴标式包装,检查封口标签是否平整,如果有气泡或粘性不足,很可能就是被拆过的。3、看盒上标签,小标签字迹清晰,字母间距符合真标要求,字体颜色符合真标要求,进行下一
2020-10-24 13:47:44
14606
1
原创 Java并发编程面试题
2020最新Java并发编程面试题及答案1、在Java中守护线程和本地线程区别?2、线程与进程的区别?3、什么是多线程中的上下文切换?4、死锁与活锁的区别,死锁与饥饿的区别?5、Java中用到的线程调度算法是什么?6、什么是线程组,为什么在Java中不推荐使用?7、为什么使用Executor框架?8、在Java中Executor和Executors的区别?9、什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classess)10、Java Concurrency AP
2020-10-12 08:28:27
668
原创 找工作必看!!!关于什么叫做三方协议
找工作必看!!!关于什么叫做三方协议三方协议是《全国普通高等学校毕业生就业协议书》的简称,它是明确毕业生、用人单位和学校三方在毕业生就业工作中的权利和义务的书面表现形式,能解决应届毕业生户籍、档案、保险、公积金等一系列相关问题。三方协议在毕业生到单位报到(凭《全国普通高等学校本专科毕业生就业报到证》或《全国毕业生研究生报到证》)、用人单位正式接收后自行终止。三方就业协议书不同于劳动合同。首先,三方就业协议书是国家教育部统一印制的,主要是明确三方的基本情况及要求。三方就业协议书制定的依据是国家关于高校
2020-10-12 07:49:11
614
原创 Java注解与反射
通俗易懂Java注解与反射教程Java注解与反射什么是注解内置注解元注解自定义注解反射机制Java反射机制提供的功能Java反射优点和缺点反射相关的主要APIClass类获取Class类的实例哪些类型可以有Class对象类的加载与ClassLoader的理解什么时候会发生类初始化类加载器的作用获取运行时类的完整结构有了Class对象,能做什么反射操作泛型Java注解与反射什么是注解Annotation是从JDK5.0开始引入的新技术Annotation的作用:不是程序本身,可以对程序作出解释。
2020-09-27 16:15:58
189
原创 程序员必备十大排序算法
通俗易懂常用排序算法10. 排序10.1 基本概念10.2 插入排序10.2.1 直接插入排序排序思路排序过程排序算法算法分析10.2.2 折半插入排序排序思路排序过程排序算法算法分析10.2.3 希尔排序基本思路排序过程排序算法算法分析10.3 交换排序10.3.1 冒泡排序基本思路排序过程排序算法算法分析10.3.2 快速排序基本思路排序过程排序算法算法分析例题10.4 选择排序10.4.1 基本概念10.4.2 简单选择排序基本思想排序算法算法分析10.4.2 堆排序基本思路堆的定义排序过程排序算法算
2020-09-24 13:02:55
2939
原创 Java多线程并发基础(JUC)
通俗易懂JUC学习笔记JUC什么是JUC线程和进程Lock锁生产者和消费者问题8锁现象一、一个对象,两个同步方法二、一个对象,两个同步方法,一个存在延迟三、一个对象,一个同步方法,一个普通方法四、两个对象,两个同步方法五、一个对象,两个静态同步方法六、两个对象,两个静态同步方法七、一个对象,一个静态同步方法,一个普通同步方法八、两个对象,一个静态同步方法,一个普通同步方法集合类不安全1、List2、Set3、MapCallable常用的辅助类CountDownLatchCyclicBarrierSemaph
2020-09-24 12:51:44
580
原创 Java虚拟机(JVM)与Java内存模型(JMM)学习笔记
Java虚拟机【JVM】与Java内存模型【JMM】学习笔记Java虚拟机(JVM)三种JVMJVM 位置JVM的主要组成部分及其作用类加载器双亲委派机制沙箱安全机制Java本地接口(JNI)JVM运行时数据区方法区堆程序计数器虚拟机栈本地方法栈堆栈的区别物理地址内存分别存放的内容深拷贝和浅拷贝Java对象创建过程Java对象定位访问的方式句柄访问直接指针Java实例化对象过程中的内存分配问题引入堆内存与栈内存对象空属性操作对象属性分步实例化对象NullPointerException的出现引用数据分析垃圾
2020-09-24 12:48:24
1619
原创 Redis入门教程
通俗易懂Redis学习笔记Nosql概述什么是NoSQLNoSQL特点RDBMS和NoSQL区别RDBMSNoSQL大数据时代的“3V和3高”NoSQL四大分类键值(Key-Value)存储数据库列存储数据库文档型数据库图形(Graph)数据库不同分类特点对比体系框架适用场景开源的NoSQL数据库软件MongoDB主要功能特性概述定义特点优势与其他key-value存储有什么不同?安装Linux安装性能测试基础知识基本命令五大数据类型String(字符串)List(列表)Set(集合)Hash(哈希)ZSe
2020-09-24 11:08:30
512
1
原创 HashMap底层原理(含面试题)
一文搞懂HashMap底层原理(含面试题)HashMap1. HashMap结构图2. HashMap中定义的一些成员变量3. 继承关系4. 简单总结5. 深入了解源码5.1 构造方法5.2 数组的索引bucket5.3 HashMap.put(k,v)5.4 resize()数组扩容5.4 HashMap.get(k)6. 总结(面试相关)6.1 能否让HashMap同步6.2 HashMap的工作原理6.3 HashMap的put()方法和get()方法的工作原理6.4 当两个对象的hashcode相同
2020-09-24 10:54:17
1209
原创 设计模式学习笔记
最全通俗易懂设计模式详解设计模式OOP七大原则创建型模式单例模式建造者模式原型模式工厂模式抽象工厂模式结构型模式代理模式适配器模式桥接模式过滤器模式外观模式享元模式装饰器模式组合模式行为型模式备忘录模式策略模式迭代器模式访问者模式观察者模式解释器模式空对象模式命令模式模板模式责任链模式中介者模式状态模式J2EE模式MVC模式传输对象模式服务定位器模式拦截过滤器模式前端控制器模式数据访问对象模式业务代表模式组合实体模式设计模式设计模式(Design Pattern)是前辈们们对代码开发经验得总结,是解决
2020-09-24 10:44:34
1440
原创 Centos7.6 运维( Java 后端开发常用环境)与 Linux 常用命令
Centos7.6 运维( Java 后端开发常用环境)与 Linux 常用命令
2020-09-24 10:31:51
664
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人