自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 day16.1-线程观察状态

线程状态观测Tread.State线程状态。线程可以处于下列状态之一:NEW至今尚未启动的线程处于这种状态。RUNNABLE正在 Java 虚拟机中执行的线程处于这种状态。BLOCKED受阻塞并等待某个监视器锁的线程处于这种状态。WAITING无限期地等待另一个线程来执行某一特定操作的线程处于这种状态。TIMED_WAITING等待另一个线程来执行取决于指定等待时间的操作的线程处于这种状态。TERMINATED已退出的线程处于这种状态。在给定时间点上,一个线程只能处于一种状

2021-01-18 21:29:39 53

原创 153_寻找旋转排序数组中的最小值 II 中等

已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 4 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。给你一个元素值 互不相同 的数组

2021-04-08 11:05:30 67

原创 81_搜索旋转排序数组 II 中等

81. 搜索旋转排序数组 II难度中等381收藏分享切换为英文接收动态反馈已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,4,4,5,6,6,7]

2021-04-07 17:24:30 78

原创 复试11-补充

迷宫问题的思路//2为重点,3为走不通,0为为走过,1为墙。//注意if,else的东西,一定是先写if else,再写里面的东西、public static boolean setWay(int[][] map,int i,int j){ if(map[6][5] == 2){ //到达终点 return true; }else { if(map[i][j] == 0){ //继续 .

2021-03-21 10:45:36 80

原创 复试10-额外的一些知识

哈夫曼树一堆数据中选择最小的两个组成数然后返回那一堆数中,emmmtcpic协议tcp协议的三层握手红黑树b-,b+树

2021-03-20 10:11:46 113

原创 复试09-数据结构2

上机一般更多考察二叉树的遍历这里补充一点二叉树的五种基本形态1、空二叉树(没有一个结点);2、只有一个根节点;3、只有左子树;4、只有右子树;5、既有左子树又有右子树;初试的时候忘了,卷子上没写出来,白白失去了6分。那么二叉树的遍历有先序遍历 中左右中序遍历 左中右后序遍历 左右中层次遍历 用队列例题10.2 二叉树遍历上面那个图就是意思是3种遍历已知两种的情况下求第三种,只有前序和后序的必须还加上满二叉树。从上面中序后序的分析,就可以递归的依据p的位置来分析啦。

2021-03-19 17:20:18 59

原创 复试08-搜索

搜索一般由以下几种状态空间状态转移起始状态目标状态上图就是个例子,下面是一个稍微修改要求的图状态空间图一般比较大,很难在计算机中用这些。可以转换为树来求解。宽度优先搜索(BFS)深度优先搜索(DFS)emm,就不做说明了。例题9.1简单来说,就是一个数组(0,100000)农夫在下标n的位置,牛在下标k的位置。农夫每次要么n+1,要么n-1,要么n*2.假设牛没有意识到农夫在追它,在原地不动,农夫最少要多久找到。这里需要注意的是这两个点重复了,它们仅仅是时

2021-03-18 17:37:33 52

原创 复试07-递归与分治

这一部分就没那么多了,递归:直接或间接调用自身。递归一般有递归出口递归调用这两部分。例题8.1这个问题就很简单了static int jiecheng(int n){ if(n==1||n==0)return 1; return n*jiecheng(n-1); }Hanoi塔设将n层完全移动过去要f(n)将n-1曾完全移到中间需要f(n-1)操作数f(n-1),最下面那个大盘,移动操作数为f(1)将中间n-1层移动过去,也小号

2021-03-17 21:36:27 71

原创 复试06-数字问题

数学问题,围绕着数理逻辑的问题进制转换GCD&LCM(最大公约束,最小公倍数)质数&质数因子快速幂矩阵&矩阵快速幂高精度整数进制转换10->NM->10M->N例题6.1 二进制数找到一个偷懒的办法。10进制转化其他进制对应的方法,参数:n(原10进制数据),r(进制),返回值10进制转2进制Integer.toBinaryString(n);一个二进制字符串.10进制转8进制Integer.t

2021-03-15 11:40:51 166

原创 复试05-线性数据结构

由于数组是固定长度的数据结构,但是某个时候我们需要额外的数据结构。一般来说,有表list这种数据结构。队列,栈,堆表分为:数组列表,链表,单链表,单循环双循环。为什么要活动数组?因为数组中插入元素和删除元素很费时间,要移动整个数组。而且不方便 我们数据量不确定的时候。一般有下面两种表ArrayList和Vector.但我一般用ArrayList。这样更方便一点。两者基本用法差不多。public class d6 { public static void main(String[]

2021-03-12 19:34:55 40

原创 复试04-字符串

字符串一般有以下几种操作遍历加密统计匹配String的重要:构造操作运算函数字符串的常用操作有:5. 拷贝6. 截取public class d1 { public static void main(String[] args) { String str = new String("ABCdefAghij3"); System.out.println(str.charAt(1));//位置1的字符是什么 System.

2021-03-11 15:47:51 61

原创 复试03-查找和排序2

排序完了后我们就开始做查找这一部分了,查找的常用方法为:线性查找O(n)二分查找O(logn) -----必须是有序序列散列查找O(1)-----利用散列表(哈希表)例题3.5import java.util.Arrays;import java.util.Scanner;public class c7 { public static void main(String[] args) { Scanner scanner = new Scanner(Syste

2021-03-09 20:39:58 53

原创 复试03-查找和排序

很多时候,不需要自己写一个排序查找算法,只需要借用写好的。虽然有写好的,但是我那边学校招生简章上要求是java或c。没有c++所以说有可能需要自己写算,不能直接调用,因为c的函数库不太了解。如果有ide的话就直接看源码好了。看完再调用测试。Arrays工具类有2个常用的方法import java.util.Arrays;Arrays.sort(int[] a, int fromIndex, int toIndex);//仅排序fromIndex到toIndex下标的数据Arrays.sort(

2021-03-09 10:43:09 74

原创 复试-02-暴力

一般有1、2道简单题,暴力是最快的。暴力求解枚举、所有可能的情况模拟、分析数据量。可以看到绝大程序是要求1000ms到2000ms。绝大多数程序的数据量是10^7次方的运算所以说,估算一下数据量大小,比如说想到一个O(n2)的算法,而数据量是105的时候,一定会超出时间限制。所以我们这时候要想到用O(nlogn)的算法,才能通过。还有一种就是log1+log2+log3+…+logN = O(nlogn)例题2.1枚举a,b,c3个数,很容易得出时间复杂度是O(n3)对应原

2021-03-04 15:22:12 73

原创 复试-01-从头开始

题目大概题目描述,输入,输出,,样例输入,样例输出,等就类似于蓝桥杯大概的题吧。在本地写代码,测试完毕后提交到评测系统。评测系统会返回如下几个结果AcceptedWrong Answer(部分或全部测试结果不对)–从正确性,算法正确上思考;鲁棒性,对边界数据,大数据等差异较大。Presentation Error(格式错误,输出是对的,未按照题目要求格式)–多余空格,换行,或少空格,换行等Time Limit Exceeded(超出限制时间)–正确性,可能写了死循环;高效性,超出题目要求的时

2021-03-01 14:58:46 51

原创 day34-暂时停止

考研计算机专硕295分了,双非,应该过了国家线。按往年来说,每年最低的270多还是有的,冲一下还是能上岸。准备复试,暂时会停止更新博客,准备复试。偶尔会更新。有书读啦。虽然比不上那些大佬。hhhh...

2021-02-28 13:49:56 53

原创 day33-jdbc事务

ACID原则原子性、一致性、隔离性、持久性隔离性的问题:脏读:一个事务读取了另一个没有提交的事务不可重复读:在同一个事务内,重新读取了表中的数据,表数据发生了改变幻读(虚读)具体的事务提交已经帮我们你写好了我们主要解决connection.setAutoCommit(false);//关闭自动提交//事务内容...connection.commit();//事务提交可以在catch中写回滚的语句,默认失败就会回滚这稍微额外写一点数据库的连接池数据的连接释放很浪费资源池化技.

2021-02-24 21:33:51 46

原创 day32-sql注入

sql注入就是说String username = "A";String password = "123456";String sql = "select* from user where username = "+username+"and password = "+password;但是如果把username改成String username = " ' 'or 1=1";并且自行改变and后的语句那么就能查出所有的用户信息了,由此可见,只需要在前端填写【‘or’ 1=1】就可查询到

2021-02-24 09:29:44 74

原创 day31-JDBC

JDBC数据库驱动,SUN公司为了简化开发人员的(对数据库的统一)操作,提供了一个java操纵数据库的规范,这些规范的具体实现由厂商实现,我们只需要掌控JDBC接口的操作即可java.sqljavax.sql下面需要一些包https://search.maven.org/去maven那里下载...

2021-02-23 11:39:17 72 1

原创 day-30 数据库规范

权限管理mysql.user表,本质,对这张表进行增删改查CREATE USER xxx IDENTIFIED BY '123456'SET PASSWORD = PASSWORD('123456')SET PASSWORD FOR kuangshen = PASSWORD('123456')RENAME USER xxx TO xxx2GRANT ALL PRIVILEGES ON *.* TO xxx2SHOW GRANTS FOR root@localhost-- root

2021-02-19 15:26:44 48

原创 day29-索引

MySQL索引背后的数据结构及算法原理http://blog.codinglabs.org/articles/theory-of-mysql-index.html什么是索引?MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。索引的分类在一个表中,主键索引只能一个,唯一索引可能有很多个主键索引(PRIMARY KEY)唯一的标识,主键不可重复,只能有一个列作为主键唯一索引(UNIQUE KEY

2021-02-19 09:28:18 36

原创 day28-事务

什么是事务简单来说,就是要么都成功,要么都失败将一组SQL放在一个批次中去执行事务原则:ACID原则,原子性,一致性,隔离性,持久性原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。一致性(Consistency)事务前后数据的完整性必须保持一致。隔离性(Isolation)事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。持久性(Durability)

2021-02-15 23:37:28 49

原创 day27-mysql

模糊查询:比较运算符运算符语法描述IS NULLa is null如果操作符为null,结果为真IS NOT NULLa is not null如果操作符部位null,结果为真BETWEENa between b and c若a在b和c之间,则结果为真LIKEa like bSQL匹配,如果a匹配b则结果为真INa in(a1,a2,a3.,…)...

2021-02-15 16:49:01 104 3

原创 day26-mysql数据管理

外键https://www.liaoxuefeng.com/wiki/1177760294764384/1218728424164736简单来说,就是一个年级有x个班级表(一班二班),每个班级表有x个学生(1号学生,2号学生)。那么总的学生数就需要这里通过不同的class_id对应sutdent_id,通过class_id把多个学生表串联起来(也就是分班),这里的class_id就是外键。ALTER TABLE studentsADD CONSTRAINT fk_class_idFOREIGN K

2021-02-11 19:41:08 120 1

原创 day25-mysql续

数据类型的长度问题int类型int(xx)意思就是显示宽度xx位,并不是只能存xx位数字。和0填充有关。int(3)对于20,200来说。分别为020,200。若数字高于显示宽度,则按高位来。若数字不足,则补0。varchar和charvarchar(xx)在若值小于xx-1则只占实际大小,无冗余,例如varchar(10)的值为’ab’,则只占2位。若值大于10的长度,则只显示前10位的长度。实际中我们一般把varchar设置位最大255,反正也不会浪费额外空间。char(xx)则是固定

2021-02-07 18:35:38 61

原创 day24-基本sql

基本sql语句mysql -u root -p123456 --连接数据库update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost'; --修改用户密码flush privileges; --刷新权限sql语句必须以分号(;)结束show databases; --查看所有的数据库use xxx -- 切换到xxx数据库(不用分号是因为这不是s

2021-02-05 23:17:51 67

原创 day23-mysql基本

Mysql前段:页面,展示,数据后台:连接点,链接数据库JDBC,链接前端(控制,控制视图跳转,和给前端传递数据)数据库(存数据,txt,excel,word)什么是数据库DB,DataBase概念:数据仓库,软件,安装在操作系统(win,linux,mac…)SQL作用:存储数据,管理数据数据库分类关系型数据库:Excel等mysql、oracle、sql server、db2、sqllite非关系型数据库:{key:value}Redis,MongDBDBMS数据库管理系

2021-02-05 18:56:43 32

原创 day22-反射

反射java反射机制概述动态语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以更具某些条件改变自身结构Object-C、C#、JavaScript、PHP、Python等。静态语言与动态语言对应的,运行时候结构不变的语言就是静态语言。如Java、C、C++Java不是动态语言,但Java可以称之为"准动态语言".即Java有一定的动态性,我们可以利用反射机制获得类似动态语言的特性。Java

2021-02-04 16:00:37 80

原创 day21-注解

注解java.Annotation注解comment注释什么是注解:Annotation是从JDK5.0开始引入的新技术Annotation的作用:不是程序本身,可以对程序做出解释可以被其他程序(比如编译器等)读取Annotation格式:注解是以"@注释名"在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”)Annotation在哪里使用可以附加在package,class,method,field等上面,相当

2021-01-27 23:54:29 89

原创 day20-线程池

使用线程池线程的创建和销毁是最消耗资源的背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。好处:提高响应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)便于线程管理(…)corePoolSize:核心池的大小maxmumPoolSize:最大线程数keepAliveTime:线程没有任务时最多保持多长时间后会终

2021-01-23 20:17:14 47

原创 day19-线程协作

生产者消费者模式假设仓库只能存放意见产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费如果仓库没有产品,则生产者将产品放入仓库,否则停止生产并等待,知道仓库中的产品被消费者取走如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,知道仓库中再次放入产品为止。这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件对于生产者,没有生产产品之前,要通知消费者等待,而生产了产品之后,又需要马上通知消费者消费对于消费者,在消费之

2021-01-23 18:29:58 40

原创 day18-线程锁

守护(daemon)线程现场分为用户线程和守护线程虚拟机必须确保用户线程执行完毕虚拟机不用等待守护线程执行完毕守护线程,如,后台记录操作日志,监控内存,垃圾回收等待package State;public class ThreadDaemon { public static void main(String[] args) { A a = new A(); B b = new B(); Thread thread = new Th

2021-01-23 10:18:20 69

原创 day17-线程的优先级

线程的优先级java提供一个现场调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。线程的优先级用数字表示,范围从1~10Thread.NORM_PRIORITY==5Thread.MAX_PRIORITY==10Thread.MIN_PRIORITY==1获取优先级getPriority();设置优先级setPeiority(xxx);附源码 /** * Changes the priority of this thread.

2021-01-18 20:59:57 86

原创 day16-线程的五大状态

线程状态下面是五大线程状态下面是线程状态方法说明setPriority(int newPriority)改线程的优先级static void sleep(long millis)在指定的毫秒数内瓤当前正在执行的线程休眠void join()等待该线程终止static void yield()暂停当前正在执行的线程对象,并执行其他的线程void interrupt()中断线程,别用这个方式boolean isAlive()测试线程是否处于

2021-01-17 23:25:12 53

原创 day15-lambda表达式

Lamda表达式λ时希腊字母表中排序第十一位的字母,英文名称为Lambda作用如下避免匿名内部类太多实质属于函数式编程的概念。某些只用一次的方法,使用lambda就更简洁了。理解Functional Interface(函数式接口)是学习Java8 lambda表达式的关键所在函数式接口的定义:任何几口,如果只包含唯一一个抽象性方法,那么它就是一个函数式接口请看下面代码package lambda;public class TestLambda { //2.静态内

2021-01-16 21:31:42 73

原创 day14-并发问题

线程并发废话不多说,上例子//多个线程同时操作同一个对象//抢购小米11的例子public class TestThread4 implements Runnable{ //库存 private int phoneNums = 10; @Override public void run() { while (true){ if(phoneNums <=0)break; //模拟延时

2021-01-16 20:53:14 105 1

原创 day13-线程

线程普通任务和多线程任务的区别程序,进程线程的区别在操作系统中运行的程序就是进程,一个进程可以有多个线程。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。进程是执行程序的一次执行过程,他是一个动态的概念。是系统资源分配的单位通常一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义,线程是CPU调度和执行的单位。注意:很多多线程是模拟出来的,真正的多线程是指有多个CPU,即多核,如服务器。如果是模拟出来的多线程,即在一个CPU的情况下,在同

2021-01-15 12:09:48 63

原创 day12-常用类,集合,IO流

常用类第一 :基本数据类型之间的转换不是都可以自动转换的,而你要是强转的话可能会出现问题,比如: (int)“一二三”; 就会出错,为了方便转换,所以sum公司就搞了个包装类!第二 : 包装类和它们相对的基本数据类型,对比,包装类多了很多方法可以调用,简化了程序实现的过程!第三 : 反正用对了就是好用,但是要是本来一个基本数据类型就能搞定的,如Int a = 1;a ++ ;System.out.println(a);你非要用Integer 来创建一个对象,提高内存占用,我也是无所谓的,好吧

2021-01-14 11:25:37 257

原创 day11-异常

异常什么是异常(Exception)一出场指程序运行中出现的不期而至的各种状况,如文件找不到、网络连接失败、非法参数。异常发生在程序运行期间,它影响了正常的程序执行流程。一般有三种类型的异常检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法遇见的。比如要打开一个不存在的文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。错误Error:错误不是异常,而是若离程序员控

2021-01-13 22:04:08 66

原创 day10-java面向对象

面向对象面向过程面向过程就是一步一步来的,适合处理简单问题面向对象面向对象编程(Object Oriented Programming)OOP的本质就是:以类的方式组织代码,以对象的组织(封装)数据。对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。在面向对象程序设计中,对象所指的是计算机系统中的某一个成分。在面向对象程序设计中,对象包含两个含义,其中一个是数据,另外一个是动作。对象则是数据和动作的结合体。对象不仅能够进行操作,同时还能够及时记录下操作结果。方法是指对象能够进

2021-01-13 20:35:13 178

空空如也

空空如也

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

TA关注的人

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