随笔分类 - Java慢慢啃
Java语言使用中遇到的记忆点
摘要:# ConcurrentHashMap存null的讨论 参考: https://juejin.cn/post/7057696800739688479 今天发现某公众号推送了ConcurrentHashMap为什么不允许存储key|value 为 null 感觉写的有问题,好像是从互联网上抄的,于是做
阅读全文
摘要:# 雪花算法单线程实现-scala > [参考blog](https://blog.csdn.net/qq_33404395/article/details/89476607) ```scala /** * [时间戳][数据标识id][机器id] */ object SnowFlake { // 开
阅读全文
摘要:写权限遇到的坑 项目中希望增加一层权限管理,分为多个层级,自顶向下为一、二、三... 顶级的权限往往是最高的,上下层之间的权限是无关的,也就是面上写层级,实际上是一个flat的权限列表 分层的意义在于,同一个接口(数据修改接口)各层级的不同权限都有可能允许访问 问题分析 多个层,每个层有多个角色(可
阅读全文
摘要:# Scala ## 反射 Scala自动为类中的属性提供 get\set 方法 get: fieldname() set: fieldname_$eq(参数类型) 例如 ```scala srcObject: AnyRef = ??? destObject: AnyRef = ??? val sr
阅读全文
摘要:# MySQL ConnectJ maxwell-bootstrap 报错 Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites a
阅读全文
摘要:例如 `JAVA_HOME=C:\Program Files\java\` 这类环境变量中包含空格,其他使用Java的组件如 Hadoop(win下懒得弄WSL,凑合用) 会出现 ``` Error: JAVA_HOME is incorrectly set. ``` 此时,将环境变量的`C:\Pr
阅读全文
摘要:Feign远程调用结合fallback(Springboot包扫描) 微服务项目中,各微服务模块间互相调用,通常使用HTTP协议调用,为了优雅和快速调用服务,通常使用HTTP客户端,如Feign 为各服务编写Feign客户端应当是一次编写重复调用的过程,因此Feign客户端应当作为一个独立工具包引入
阅读全文
摘要:基于秒杀案例的锁的思考与实践 在跟黑马点评项目时,发现其中的对于“秒杀”过程的讨论非常有意思, 该项目讨论了“超买/超卖”、“一人一单”、“集群模式下的一人一单”问题 分别引出了乐观锁、悲观锁,分布式锁的概念,值得一学! https://www.bilibili.com/video/BV1cr4y1
阅读全文
摘要:List的两种子类LinkedList, ArrayList的选择 背景:LeetCode的一道回溯题目 78.子集 分析 题目意思是枚举所有的子集,必然想到回溯算法,本人使用回溯习惯使用一个成员变量链表和一个答案列表 配合回溯算法 List<List<Integer>> ans; List<Int
阅读全文
摘要:JDBC应用 记录JDBC的学习笔记,为后期使用JDBC建立一个简单的速查页面,省去中间的推导等 池: Druid DBUtil: Apache Commons DbUtils 也作为八股文的速查 数据库连接的基本步骤 以 Druid 连接池包为例,读取 /src/druid.properties
阅读全文
摘要:IO - 常用类 IO流定义 狭义流方向定义 这里把硬盘理解为内存之外的源即可 input 输入流(程序读入数据): 硬盘 >内存 output 输出流(程序写到文件): 内存 >硬盘 流分类 按数据单位:字节流(1Byte = 8bit)、字符流(字节长度取决于编码方式) 按数据流向:输入流、输出
阅读全文
摘要:IO - File 创建 new File(String filePath) String filePath = "D:\\news1.txt"; File file = new File(filePath); // 此时尚未将文件写入硬盘 try { file.createNewFile(); }
阅读全文
摘要:类继承(多态+动态绑定) 韩顺平 Java P307-P318 继承 以Object类为基类(Base) 向下继承 使用关键字 extends class Father {} class Child extends Father {} 子类继承父类所有可公开的属性、方法,规则属性、方法的修饰关键字
阅读全文
摘要:泛型 参考视频: BV1xJ411n77R 应用场景 同一方法可以: 产生不同类型的实例对象(返回对象引用) 书写不同类型的泛型方法 接收不同类型的传入参数(输入对象引用) 抽象(字面意义的)地继承 同一接口可以: 产生不同类型的方法实现 上面是我自己总结的,描述的范围肯定有问题,不要拿去当做参考
阅读全文
摘要:继续深入认识面向对象 狂神说Java BV12J41137hu 抽象类 理解为模板类,它不能实例化对象,它的某些方法没有具体的实现,需要继承类进行实现; 它可以被抽象类继承,此时方法不需要补全重写; 它可以被普通的类继承,此时方法必须要补全重写; 案例: 抽象父类 Action.java packa
阅读全文
摘要:继续深入认识面向对象 狂神说Java BV12J41137hu 多态 多态讲的很好的一篇文章 Java多态性:Java什么是多态? 我建议直接看这一篇,我自己跟着狂神学,根本没听懂... 这里的案例上一篇 面向对象 - super、方法重写Override 已经写过了,这次写的简洁一些 Person
阅读全文
摘要:继续深入认识面向对象 狂神说Java BV12J41137hu super super 可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。 如 面向对象 - 内存分析、封装、继承 所写,继承的成员变量或者方法前缀修饰关键词必须是 public 和 protected
阅读全文
摘要:深入认识面向对象 狂神说Java BV12J41137hu 创建对象内存分析 在主函数中,main() 也是方法中的一个,因此 main() 存在于堆中的方法区(存放类和静态方法static的地方),main() 方法中的常量也是存在于这里的。 执行过程分析 在栈的执行过程中,由于需要执行 main
阅读全文
摘要:IDEA 自己的习惯的配置 这里记录一下自己IDEA的配置,由于都是小的设置点,这里就不一一引用原博客了,因为根本不记得看的谁的 最好养成手动配置的习惯(本能),万一换了没有网络或者不能访问外网的电脑,自己也能熟练配置个七七八八 字体大小 鼠标滚轮缩放 代码区和STDOUT区缩放字体 File -
阅读全文
摘要:什么是面向对象 狂神说Java BV12J41137hu 面向过程思想: 步骤清晰简单--第一步做什么,第二步做什么... 面对过程适合处理一些较为简单的问题 面向对象思想: (属性 + 方法) 分析的思维模式,首先将问题归类,然后解决分类下的问题 适合处理复杂问题,适合处理需要多人协作的问题 对于
阅读全文