Java Language
文章平均质量分 70
Java Language
程序员小x
一名在进阶路上的c/c++选手,热爱编程,欢迎与我交流
展开
-
数据结构高频考点:堆排序的核心思想和代码实现
文章目录原创 2020-07-02 15:38:25 · 521 阅读 · 0 评论 -
java 基础面试题目讲解
文章目录1.== 和 equals 的区别是什么?== 解读对于基本类型和引用类型 == 的作用效果是不同的,如下所示:基本类型:比较的是值是否相同;引用类型:比较的是引用是否相同;String x = "string";String y = "string";String z = new String("string");System.out.println(x==y); // trueSystem.out.println(x==z); // falseSystem.out.prin原创 2020-07-02 10:48:23 · 738 阅读 · 0 评论 -
JAVA后台开发面试题目(内含详细问题解析)
文章目录JAVA 语言数据结构JAVA 语言1.vector和arrayList的区别?同步性上的区别和扩容性上的区别(参考博客 java 中vector和arrayList的对比)数据结构1.写出快速排序算法并给出常见的优化方式(答案参考博客数据结构考点: 快速排序的基本实现方式及其改进方法)...原创 2020-06-28 23:47:40 · 1012 阅读 · 0 评论 -
快速排序的基本实现方式及其改进方法
文章目录公共函数快速排序第一版快速排序的改进1.阈值选取2.优化不必要的交换3.优化小数组的排序4.优化递归操作完整代码快速排序的主要思想就是”分而治之“。对于快速排序而言,”分而治之“的意思是将数组拆分为两个部分,其中一个部分的所有元素都小于另一个部分的所有元素,这样就达到了所谓的局部有序。进一步,我们对第一部分和第二部分再进行拆分,使得拆分后任然满足其中一部分的元素小于另一部分的所有元素。一直将拆分工作继续下去,直到不能进行为止。从而就行局部有序到达了整体有序。注:本文不属于入门教程,侧重于快速排原创 2020-06-28 23:37:29 · 1613 阅读 · 0 评论 -
数据库死锁及解决办法
文章目录1. 事务之间对资源访问顺序的交替2. 并发修改同一记录3. 索引不当导致的死锁目前,我们已经探讨了许多关于数据库锁的问题,锁能够有效地解决并发的问题,但这也带来了一个严重的缺点,那就是死锁。死锁在操作系统中指的是两个或两个以上的进程在执行的过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或者系统产生了死锁,这些永远在互相等待的进程称为死锁进程。在操作系统中,死锁的处理是一个重要的话题,也已经有较为成熟的解决方法,如银行家算法等,在这边我转载 2020-07-11 22:51:38 · 5943 阅读 · 0 评论 -
冒泡排序法的思想
文章目录void BubbleSort(List *L){ int i,j; for(i = 1;i< L->length; i++) { for(j = i;j < L->length;j++) { if(L->r[j] > L->r[j+1]) { swap(L,j,j+1); }原创 2020-07-02 10:17:51 · 134 阅读 · 0 评论 -
面试篇:Time-wait状态存在的用处,怎么避免Time-wait?
文章目录1.什么是TIME_WAIT状态?2.为什么需要TIME_WAIT状态?3.TIME_WAIT状态造成的危害4.如何避免?参考文章:Time-wait状态存在的用处,怎么避免Time-wait?这道题目是面试过程中的高频题目,首先看一下什么是TIME_WAIT状态1.什么是TIME_WAIT状态?在TCP连接中四次挥手关闭连接时,主动关闭连接的一方(上图中时Client)会在发送...原创 2020-03-18 14:40:02 · 1109 阅读 · 1 评论 -
spring bean的装配byName和byType
文章目录1.ByName和ByType的总结2.demo1 ByName案例3.demo2 ByType案例参考文章1.ByName和ByType的总结ByName:需要保证 beans.xml 中所有bean 的 id 唯一,并且 这个 bean 的 id 要和 自己对象中 set函数后面的值的相同。ByType: 需要保证 beans.xml中 所有bean的class唯一,并且 这个bean 要和 自己对象中 自动注入的 属性的类型 要一致。2.demo1 ByName案例demo1的项目结原创 2021-02-13 20:43:52 · 606 阅读 · 2 评论 -
springboot中使用mybatis
https://blog.csdn.net/iku5200/article/details/82856621原创 2021-01-18 22:33:58 · 128 阅读 · 0 评论 -
Java垃圾回收机制(GC)详解
文章目录一、为什么需要垃圾回收?二、内存垃圾检测方法?四、方法区的垃圾回收五、垃圾收集算法六、垃圾收集器一、为什么需要垃圾回收?如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配不回收,但是事实并非如此。所以,垃圾回收是必须的。二、内存垃圾检测方法?哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径所使用的对象。那么,如何找到这些对象?1.引用计数法这个算法的实现是,给对象中添加转载 2020-08-01 21:40:11 · 4059 阅读 · 0 评论 -
HashMap中确定数组位置为什么要用hash进行扰动
HashMap数据存储的过程先根据key获得hash值,通过 (n - 1) & hash 判断当前元素存放的位置(这里的 n 指的是数组的长度),如果当前位置存在元素的话,就判断该元素与要存入的元素的 hash 值以及 key 是否相同,如果相同的话,直接覆盖,不相同就通过拉链法解决冲突。其中,jdk1.8中扰动函数hash的源码:static final int hash(Object key) { int h; // key.hashCode():返回散列值也就是hashc转载 2020-07-13 13:48:29 · 807 阅读 · 1 评论 -
Java CAS 原理及其优缺点
文章目录参考文章https://blog.csdn.net/zhangyong01245/article/details/102842477转载 2020-07-13 14:47:26 · 353 阅读 · 0 评论 -
centos 下使用maven新建spring-boot demo项目
文章目录1. 使用mvn新建一个空的java项目2.构建代码3.结果测试通常情况下在开发java项目时是使用IDE进行开发的,本文以centos作为开发平台,仅仅使用vim进行开发,使用原生的maven命令构建spring-boot的一个hello world项目。1. 使用mvn新建一个空的java项目使用mvn 命令新建一个项目mvn archetype:generate -DgroupId=com.it -DartifactId=myapp -DarchetypeArtifactId=mave原创 2020-09-11 16:02:32 · 266 阅读 · 0 评论 -
Mybatis 入门经典案例
文章目录数据库新建maven项目,并添加依赖新建entity类新建mapper类创建sql映射文件配置mybatis 主配置文件测试类运行结果参考文章数据库CREATE DATABASE mybatis;USE mybatis;CREATE TABLE USER( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(32) DEFAULT NULL, age INT DEFAULT 0)INSERT INTO USER(NAME,age)原创 2020-09-01 16:10:25 · 385 阅读 · 0 评论 -
动态代理
https://blog.csdn.net/Dream_Weave/article/details/84183247原创 2020-07-09 00:48:47 · 90 阅读 · 0 评论 -
java 多线程Thread、Runnable和Callable的区别和用法
文章目录Callable 实现多线程import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask; /* * 一、创建执行线程的方式三:实现 Callable 接口。 相较于实现 Runnable 接口的方式,方法可以有返回值,并且可以抛出异常。 * * 二、执行 Callable 方式,需要 FutureT原创 2020-06-30 14:07:12 · 553 阅读 · 0 评论 -
java:hashmap和hashtable的区别
文章目录1.继承不同2.线程安全不一样3.允不允许null值4.遍历方式的内部实现上不同5.哈希值的使用不同6.内部实现方式的数组的初始大小和扩容的方式不一样1.继承不同第一个不同主要是历史原因。Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。public class HashMap<K, V> extends AbstractMap<K, V> implements Cloneable, Serializab转载 2020-06-29 10:28:48 · 177 阅读 · 0 评论 -
IntelliJ IDEA在ubuntu16.04下的安装与破解
Linux指令(1)本专栏将分批讲解Linux系统中的常见指令及其用途,每期10个常见的指令本期指令为tar文章目录Linux指令(1)tartartar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。必选参数-c:建立一个压缩文件的参数指令(create 的意思); -x:解开一个压缩文件的参数指令! (extract)-t:查看 tarfile 里...原创 2018-09-24 21:07:42 · 2437 阅读 · 0 评论