自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 注解,反射

注解是一系列元数据,它提供数据用来解释程序代码,但是注解并非是所解释代码的一部分。注解的用处:提供信息给编译器:编译器可以利用注解来探测错误和警告信息编译阶段时的处理:软件工具可以利用注解信息来生成代码 html 文档或者其他相应的处理运行时的处理:某些注解可以在程序运行的时候接受代码的提取好处:提升开发效率编译期间就可以验证正确性,差错很容易保存在 class 文件中,降低维护成本坏处:若要对配置项进行修改,需要修改 Java 文件,还需要重新打包编译配置项编码在 Java 文件中,

2022-03-17 16:36:56 145

原创 排序:插入排序

插入排序1.将数组分为两个区域,排序区域和未排序区域,每一轮从未排序区域中取出第一个元素,插入到排序区域(需保证顺序)2.重复以上顺序,直到整个数组有序public class InsertSort { public static void main(String[] args) { int[] a = { 5,9,7,4,1,3,2,8}; insert(a); } private static void insert(int[] a) {

2022-03-05 20:16:35 499

原创 排序:选择排序

选择排序1.将数组分为两个子集,排序的和未排序的,每一轮从未排序的子集中选出最小的元素,放入排序子集中2.重复以上步骤,直到整个数组有序public class SelectionSort { public static void main(String[] args) { int[] a = {5,3,7,2,1,9,8,4}; selection(a); } private static void selection(int[] a) {

2022-03-05 19:45:44 188

原创 排序:二分查找

二分查找1.有已排序数组A。2.定义左右边界,确定搜索范围,循环执行二分查找。3.获取中间索引 M=(L+R)/2。4.中间索引值与T(带查找值)比较。A[M]==T 表示已经找到,返回中间索引。A[M]>T,中间值右侧的元素都大于T,无需比较,中间索引去左边找,M-1设为右边界,重新查找。A[M]<T,中间值右侧的元素都小于T,无需比较,中间索引去右边找,M+1设为左边界,重新查找。5.当L>R时,表示没有找到,结束循环public static void main(S

2022-03-05 19:34:51 211

原创 排序:冒泡排序

冒泡排序1.依次比较数组中相邻两个元素的大小,若a[j]>a[j+1],则交换两个元素,两两都比较一遍称为一轮冒泡,结果是让最大的元素排至最后。2.重复以上步骤,直到整个数组有序。3.优化方式:每轮冒泡时,最后一次交换的索引可以作为下一轮冒泡的比较次数,如果这个值为0,表示整个数组有序,直接退出外层循环即可。public class BubbleSort { public static void main(String[] args) { int[] a = { 5,9

2022-03-05 15:12:38 398

原创 静态代码块

父类public class Father { static{ System.out.println("父类中的静态代码块"); } Father(){ System.out.println("父类中的构造函数"); } { System.out.println("父类中的非静态代码"); } public static void main(String[] args) { System

2022-03-02 19:43:14 133

原创 事务、数据库事务问题

事务:事务是指逻辑上的一组操作,组成这组操作的各个单元,要么全部执行成功,要么全部执行失败事务的四个基本特征(ACID特性)1.原子性(Atomicity):一个事务中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚。2.一致性(Consistency):在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设约束、触发器、级联回滚等。3.隔离性(Isolation):数据库允许多个并发事务同时对其数据进行读写

2022-02-25 14:58:38 844

原创 数据库设计三范式

数据库三范式第一范式:原子性存储的数据应具有“不可再分性”修改后第二范式唯一性(消除非主键依赖联合主键中的部分字段)主键:1.设定一个字段为主键:此时,表示一个字段的值就可以明确确定一行数据。2.设定多个字段为主键:表示只有这多个字段的值都确定后才能确定一行数据。“联合主键”依赖如果确定一个表中的某个数据A,则就可以确定该表中的其他另一个数据B,则B依赖于A。部份依赖如果确定一个表中的某个数据组合(A,B),则就可以确定该表中的其他另一个数据C,则C依赖于(A,B)。不良做法

2022-02-25 10:29:32 324

原创 视图、索引、存储过程、触发器

视图通俗理解就是给源表做分身,源表有些数据不想让人看到,但是别人又需要操作这张表就可以给源表做一个视图视图也是表,对源表的增删改查也有效SELECT cat_id,AVG(market_price) priceFROM goods GROUP BY cat_id ORDER BY price DESC LIMIT 0,3; CREATE VIEW v_top3_avg_by_cat ASSELECT cat_id,AVG(market_price) priceFROM goods GR

2022-02-24 21:15:07 887

原创 线程、反射、IO流

3.线程、JUC并发编程3.1进程、线程、关系进程是具有一定独立功能的程序、他是系统进行资源(内存)分配和调度的最小单位,重点在系统调度和单独的单位,也就是说进程是可以独立运行的一段程序线程线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源。关系:1.一个线程只能属于一个进程,而一个进程可以拥有多个线程,但至少有一个线程(主线程)2.资源分配给进程,同一进程的所有线程共享该进程的所有资源3.线程在执行过程中,需要协作同步。不

2022-02-11 21:03:15 172

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除