java
文章平均质量分 56
Hzy_han
bug不会凭空产生,也不会凭空消失,只是从一个地方转移到了另一个地方。
展开
-
常见排序算法总结
排序分类根据时间复杂度的不同,常见的排序算法可以分为三大类:时间复杂度为O(n^2)的算法冒泡排序、选择排序、插入排序、希尔排序等。时间复杂读为O(nlogn)的算法快速排序、归并排序、堆排序等。时间复杂度为O(n)的排序算法计数排序、桶排序、基数排序等。以下将挑选三种较为经典的算法进行介绍。冒泡排序冒泡排序是一种基础的交换排序,是稳定排序类型。package main.java;import java.util.Arrays;public class Sort {原创 2021-02-13 19:36:10 · 256 阅读 · 2 评论 -
解决高并发项目下的热点问题
1.什么是热点点表示我们在系统的业务路径上有一个地方存在性能的瓶颈,比如数据库,件系统,网络,甚至于内存等,这个点一般有io,锁等问题构成。热表示其被访问的频率很高。就是说一个被访问频率很高的io或锁自然而然就造成了我们系统业务路径上的性能瓶颈。这样的热点问题会影响系统稳定性和性能瓶颈,例如支付系统中的热点账户进出款,电商系统中的热点商品参与秒杀,金融系统中的热点理财产品抢购等,都会因为热点问题而影响系统性能。2.热点问题有哪些其次我们需要弄清楚我们的热点问题是属于读热点问题还是写热点问题,原创 2021-02-08 00:34:03 · 1521 阅读 · 0 评论 -
java异常中throw和throws的区别
throws用来声明一个方法可能产生的所有异常,不做任何处理而是将异常往上传,谁调用我我就抛给谁。用在方法声明后面,跟的是异常类名可以跟多个异常类名,用逗号隔开表示抛出异常,由该方法的调用者来处理throws表示出现异常的一种可能性,并不一定会发生这些异常public class ThrowsDemo { public static void main(String args[]) throws Exception{ intArray0 = new int [3];;原创 2021-01-10 22:00:33 · 517 阅读 · 0 评论 -
java注解--框架设计的第二灵魂
定义我们常见注解有@Override和@Deprecated,注解也成为元数据,注解是用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。通俗的讲:代码中注释是给人看的,而注解是给编译器看的。spring注解开发Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。原始注解Spring原始注解主要是替代的配置...原创 2020-11-03 23:19:34 · 441 阅读 · 2 评论 -
java反射--框架设计的灵魂
反射定义通俗的讲,将类的各个组成部分封装为其他对象,这就是反射机制作用 1. 可以在程序运行过程中,操作这些对象。 2. 可以解耦,提高程序的可扩展性。原理先来了解下java代码在计算机中运行的几个阶段:对应上面的三个阶段,获取Class对象的方式有下面三种:1. Class.forName("全类名"):将字节码文件加载进内存,返回Class对象 * 多用于配置文件,将类名定义在配置文件中。读取文件,加载类2. 类名.class:通过类名的属性class获取 * 多用于参数的传原创 2020-08-19 00:29:17 · 13384 阅读 · 33 评论 -
栈内存和堆内存
堆和栈在Java中,栈(stack)是由编译器自动分配和释放的一块内存区域,主要用于存放一些基本类型(如int、float等)的变量、指令代码、常量及对象句柄(也就是对象的引用地址)。堆(heap)是一个程序运行动态分配的内存区域,在Java中,构建对象时所需要的内存从堆中分配。这些对象通过new指令“显式”建立,这种分配方式类似于数据结构中的链表。堆内存在使用完毕后,是由垃圾回收(Garbage Collection,GC)器“隐式”回收的。举个栗子:动态声明一个数组arr int[] arr原创 2020-08-10 21:19:37 · 1377 阅读 · 1 评论