
技术相关
no_bug_coder
至道无难,唯嫌捡择。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HashMap在1.8之前插入元素采用头插法的危害性
看一下jdk1.7中HashMap扩容是如何移动元素的: 每个节点中存储的内容为:hash值、key、value、next(下一个节点的内容) 假设一个长度为4的HashMap,现在已经存在3个元素了,当再插入一个元素时,Map将会扩容。 此时有两个线程同时进行put操作: 假设线程B刚遍历到Entry3的时候,运行到这句话时线程被挂起。 对于线程B来说: 此时的 e为Entry3,ne...原创 2020-01-09 11:02:38 · 4060 阅读 · 0 评论 -
Java中是传参是值传递还是引用传递?
我对Java函数传参的理解是下文中的错误理解三:Java分值传递和引用传递。 我的理解是引用传递即调用函数时传递引用类型的参数时,传递的是引用。 按这个想法,即实参和形参共享同一个引用,故在函数中修改参数的属性时会影响到原实参。 今天遇到一个问题,在传递参数后重新申请了新的对象对形参赋值,然而原实参并未受新赋值的影响,原实参的值仍然是原值。按照之前的理解,共享同一个引用应该同步改变。 所以正确理解...原创 2020-01-09 10:44:31 · 485 阅读 · 0 评论 -
SpringBoot读取配置文件创建全局变量
由于公司架构问题,生产库与测试库难以剥离,项目的增加后生产库越来越庞大,数据库有时候面临崩溃的边缘。公司经过研究后,运维方面通过物理条件横向扩展来解决,增加库的容量、加速正式库与测试库的拆分;项目方面通过运维整理出的慢SQL集进行优化,组长通过Review代码整理项目影响数据库所在问题。 经过整理后发现一个问题,项目中有很多定时任务在跑,但是定时任...原创 2019-03-29 14:03:29 · 11379 阅读 · 0 评论 -
volatile关键字介绍
一、初探 为什么在runnable中flag已经变成了真,但是还是进不去if语句? Thread线程进行的是对flag的写操作,主线程进行的是对flag的读操作。 Thread首先将flag从主内存中读到工作内存中进行写操作,主线程再从主内存中读取flag的时候,Thread还未将flag同步到主内存,故主线程读到的是未改变的flag值即flase。 主内存与工作内存 Java内存模型规定了...原创 2019-07-02 11:30:16 · 272 阅读 · 0 评论 -
SpringBoot 不配置数据源报错
报错: *************************** APPLICATION FAILED TO START *************************** Description: Failed to bind properties under ‘spring.datasource.type’ to java.lang.Class<javax.sql.DataSource...原创 2019-07-02 11:46:51 · 7552 阅读 · 0 评论 -
lambda表达式&函数式接口&方法引用 构造器引用
Lambda表达式 什么是Lambda表达式 Lambda 是一个匿名函数,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。 举个栗子 善变的需求 public List<Student> stus = Arrays.asList( ...原创 2019-07-09 15:58:25 · 419 阅读 · 0 评论 -
设计模式
简介 设计模式分为三大类: 创建型模式 ,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式 ,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式 ,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 设计模式的六大原则: 原...原创 2019-08-01 10:08:12 · 183 阅读 · 0 评论