240 发简信
IP属地:北京
  • 120
    开发常见密码技术概念&RSA使用示例

    一、单向散列函数 1.1 概念及术语 单向散列函数(one-way hash function)有一个输入和一个输出,其中输入称为消息(message),输出称为散列值(ha...

  • 开发中的异常处理问题

    应用程序避免不了出异常,捕获和处理异常是一个精细活。在开发业务逻辑时不考虑任何异常处理,项目接近完成时再采用“流水线”的方式进行异常处理,也就是统一为所有方法打上 try…c...

  • Spring事务传播机制

    开发中有多个事务方法嵌套调用时,就涉及到了 Spring 的事务传播机制。 下面梳理一下 7 种传播机制的含义,做一些测试以加深理解,也方便开发中灵活使用。 1. Sprin...

  • 向对象中的List添加元素后,返回前端数据丢失

    1. 现象 在开发中遇到了一个bug,我在一个对象的 list 属性中add了一个新值,但是接口返回时 list 并没有被改变。 下面我用demo模拟了一下: 定义返回的对象...

  • 120
    IDEA中类文件存在却无法被引入

    1. 现象 项目空间中有这个类,但是无法引入,提示创建这个类。 2. 解决 可能由于某些操作导致IDEA的缓存出现问题,需要将缓存无效并重启IDEA

  • 120
    代码加锁的常见问题

    一、业务逻辑中的并发问题 1. 示例 当存在 一个类中 的 两个方法 同时被 多个线程 执行操作 共享资源 时,需要考虑加锁。示例如下: 输出结果: 如上示例,若不加锁,两个...

  • 120
    Class类加载过程(一)

    一、Class的生命周期 一个Class文件经过三个步骤才能加载到内存中: Loading(加载):class文件内是一个个二进制字节,将这些内容装到内存中。双亲委派机制。 ...

  • 用构建器构造多参数实例

    如果一个类构造器的参数大于四个就要考虑使用构造器来构建类了。它可以使参数更加灵活,扩展性更好并且可以减少一些参数位置写错的情况。 可采用Builder模式的一种形式,不直接生...

  • Java后端返回树型数据

    前端有时需要展示部门树,城市树,人员树等树形结构,这时后端返回的数据需要经过一定的加工。 1. 树结构的节点,设置children属性,可嵌套 2. 生成树的工具类,需要转化...

  • 数据库数据存在空字符问题

    说明 有次给前端返回code值时,code后多了许多空字符,造成了编码不匹配的问题,之后发现是数据库字段设置的有问题。当时设置的CHAR类型,当存储的数据字节长度小于定义的长...

  • Java中的四种引用 - 强软弱虚

    Java中有四种引用,分别是:强引用、软引用、弱引用、虚引用。 什么是引用?比如Object o = new Object(),声明了一个变量o,它指向new出来的Objec...

  • FastJson序列化类的问题

    1. getter setter 的问题 有次开发中使用FastJson时出现了个bug,说是类里面没有某个属性,debug后发现它默认通过get方法取出属性值,也就是说Fa...

  • 120
    JVM内存区域小结

    1. 运行时数据区(Runtime Data Area) 当类被加载入方法区时,就已经开始使用运行时数据区了。根据《Java虚拟机规范》的规定,运行时数据区通常包括这五个部分...

  • 120
    基本排序算法 - 快速排序

    快速排序基本思想 快速排序是冒泡排序的改进。它通过一轮排序将要排序的数据分为独立的两部分,其中一部分都比另外一部分小,然后分别对两部分再进行快排(可递归),直到各区间只有一个...

  • 120
    基本排序算法 - 希尔排序

    简单插入排序存在一定的问题:当待插入的数比较小时,会进行多次比较并进行多次的后移赋值操作,影响效率。 希尔排序也是一种插入排序,是希尔(Donald Shell)在1959年...

  • 基本排序算法 - 插入排序

    排序算法相关理论网上资料已经很多了,这里记录一下代码方便复习。 插入排序核心思想:把数组分为有序表和无序表,从后面无序表中依次取出第一个数,插入到有序表的适当位置。 打印结果:

  • 120
    GC垃圾回收(3)- 三色标记算法

    1. CMS CMS过程在上篇文章 GC垃圾回收(2) 中已经写过。它分为四个阶段: 1 initial mark (初始标记)2 concurrent mark (并发标...

  • 120
    GC垃圾回收(2)- 常见的垃圾回收器

    JDK诞生 Serial追随 提高效率,诞生了Parallel Scavenge,为了配合CMS,诞生了ParNew,CMS是1.4版本后期引入,CMS是里程碑式的GC,它开...

  • 120
    GC垃圾回收(1)- 回收算法与分代模型

    1. 什么是garbage垃圾? 没有任何引用指向的一个对象或者多个对象(循环引用),就是垃圾 1.1 Java与C++对于垃圾处理的区别 JavaGC处理垃圾开发效率高,执...

  • 120
    win10系统热点频率设置

    我的电脑开热点默认是5GHz,其它电脑如果款式比较老可能就搜不到热点,为解决这个问题需要把我电脑的热点频率设置为2.4GHz。过程如下: 控制面板 -> 网络和 Intern...