![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习
China颜值的半壁江山
这个作者很懒,什么都没留下…
展开
-
常见排序算法学习总结
一、选择排序(Selection Sort)无论什么数据进去都是O(n2)的时间复杂度选择排序(Selection-sort) 是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。算法描述n个记录的直接选择排序可经过n-1趟直接选择排序得到有序结果。具体算法描述如下:初始状态:无序区为R[1…n],有序区为空;第i趟排序(i=1,2,原创 2020-05-12 12:49:25 · 206 阅读 · 0 评论 -
Linux学习之定时任务调度
定时任务调度1. 任务调度原理crond任务调度:crontab进行定时任务调度使用方法:crontab [选项]crontab [选项]-e:编辑crontab定时任务-i:查询crontab任务-r:删除当前用户所有的crontab任务-l:列出当前有哪些任务调度service crond restart:重启任务调度当保存退出后就生效了参数细节说明...原创 2020-04-29 10:29:03 · 268 阅读 · 0 评论 -
Linux学习之组管理和权限管理
组管理和权限管理1. Linux组基本介绍Linux中每个用户属于一个组,不能独立于组以外。所以在Linux中每个文件存在组的概念:所有者所在组其他组改变用户所在组2. 文件/目录所有者一般为文件的创建者,谁创建了该文件,就自然的称为该文件的所有者。查看文件所有者:ls -ahl修改文件所有者:chown (用户名) (文件名)3. 文件/目录所在组当某...原创 2020-04-29 10:27:53 · 191 阅读 · 0 评论 -
Linux学习之实用指令
实用指令1. 指定运行级别(7个级别)0.关机1.单用户【找回丢失密码】2.多用户状态没有网络服务3.多用户状态有网络服务4.系统未使用保留给用户5.图形界面6.系统重启系统的运行级别配置文件:/etc/inittab2. 帮助指令2.1 man获得帮助信息man [命令或配置文件]例如:man ls2.2 help指令...原创 2020-04-29 10:24:35 · 120 阅读 · 0 评论 -
Linux学习之用户管理
用户管理1. 基本用户管理Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令。要完成的工作主要有如下几...原创 2020-04-29 10:21:17 · 231 阅读 · 0 评论 -
Linux学习之关机、重启和用户登录注销
关机、重启和用户登录注销1. 关机&重启命令1.1 shutdownshutdown -h now:表示立即关机shutdown -h 1:表示1分钟后关机shutdown -r now:立即重启1.2 halthalt:直接使用,关机1.3 rebootreboot 重启系统1.4 syncsync:把内存的数据同步到磁盘上当我们关机或者重启时,...原创 2020-04-29 10:16:45 · 181 阅读 · 0 评论 -
Linux学习之vi和vim编辑器
vi和vim编辑器1. vi和vim的基本介绍所有Linux系统都会内置vi文本编辑器vim是vi的升级版,可以主动以字体颜色分辨语法的正确性,代码补完和编译,错误跳转等功能。2. vi和vim的三种模式2.1 正常模式在正常模式下,我们可以使用快捷键。用vim打开一个文件就直接进入一般模式可以使用【删除字符】或【删除整行】来处理文档内容,也可以使用【复制黏贴按钮】2.2...原创 2020-04-29 10:15:56 · 228 阅读 · 0 评论 -
Linux学习之Linux基本目录结构
计算机网络体系结构OSI其中表示层和会话层用途如下:表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。会话层 :建立及管理会话。五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。五层协议应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等。数据单位为报文。传输层 :为进程提供通用数据传输服务。由于...原创 2020-04-29 10:06:21 · 133 阅读 · 0 评论 -
四种线程池的创建的底层实现
四种线程池的创建的底层实现由上图中可知,四种线程其实都是有Executors来调用相应构造器实现创建的由上图可知,newCachedThreadPool()创建可缓存的线程池底层实际还是调用ThreadPoolExecutor类的构造器返回的实例对象实现的。newFixedThreadPool()创建定长线程池的底层也是由ThreadPoolExecutor类的构造器返回的实例对象实现...原创 2020-04-29 10:05:38 · 327 阅读 · 0 评论 -
JDBC连接MySQL数据库
一、JDBC连接数据库主要步骤:注册驱动创建连接操作数据输出结果集释放资源数据库连接代码import java.sql.*; public class MySqltest { public static void main(Stringargs[])throwsSQLException,ClassNotFoundException { String Url="jdb...原创 2020-04-28 11:28:28 · 136 阅读 · 0 评论 -
数据结构学习之数组
数组基础关于数组,综合来讲就是增删改查!8种基本数据类型:boolean、byte、char、short、int、long、float、doubleint[] arr = new int[10]; //动态初始化数组int[] a = { 1, 2, 3 };// 静态初始化基本类型数组;Man[] mans = {new Man(1,1), new Man(2,2)};// 静态初始...原创 2020-04-25 11:32:31 · 93 阅读 · 0 评论 -
Java设计模式学习之另外几种常见模式
装饰器模式通过一个装饰类动态的将新功能附加到对象上,同时不改变其结构。优点:在对象功能扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则(ocp)特点:装饰类持有原有类或接口的对象,并调用它的方法通过一个装饰类对现有类对象动态添加一些功能,同时不改变其结构动态添加,动态撤销继承的替代方式,继承只能静态添加多成装饰产生过多相似对象,复杂且不易排错装饰者模式在 JDK 应用的源...原创 2020-04-25 10:12:07 · 117 阅读 · 0 评论 -
Java设计模式学习之适配器模式
适配器模式将一个类的接口转换成另一种接口.让原本接口不兼容的类可以兼容。1、主要分为三类:类适配器模式、对象适配器模式、接口适配器模式2、从用户的角度看不到被适配者,是解耦的3、用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接口方法类适配器模式基本介绍:Adapter 类,通过继承 src 类,实现 dst 类接口,完成 src->dst 的适配。通过实现目...原创 2020-04-25 10:10:01 · 100 阅读 · 0 评论 -
Java设计模式学习之工厂模式
工厂模式定义在基类中定义创建对象的一个接口,让子类决定实例化哪个类。工厂方法让一个类的实例化延迟到子类中进行。意义将实例化对象的代码提取出来,放到一个类中统一管理和维护,把对象的创建和使用的过程分开,达到解耦,降低代码重复,从而提高项目的扩展和维护性。框架、源码中的体现工具类java.text.DateFormat,它用于格式化一个本地日期或者时间。Spring中通过getBean...原创 2020-04-23 23:00:48 · 97 阅读 · 0 评论 -
Java设计模式学习之单例模式
单例模式定义采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例, 并且该类只提供一个取得其对象实例的方法(静态方法)。使用单例模式原因(好处)?有一些对象其实我们只需要一个,如:线程池、缓存、对话框、注册表等。这一类对象如果制造出多个实例就可能会导致一些问题的产生,比如:程序的行为异常、资源使用过量、或者不一致性的结果。主要的两点好处:对于频繁使用的对象,可以省略创建...原创 2020-04-23 11:44:12 · 82 阅读 · 0 评论 -
面试手撕多线程(二)
多线程交替打印问题例如:建立三个线程A、B、C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印。Lock锁方法实现思路分析通过ReentrantLock我们可以很方便的进行显式的锁操作,即获取锁和释放锁,对于同一个对象锁而言,统一时刻只可能有一个线程拿到了这个锁,此时其他线程通过loc...原创 2020-04-22 23:43:16 · 168 阅读 · 0 评论 -
面试手撕多线程(一)
一、题目创建两个分线程,让其中一个线程输出1-100之间的偶数,另一个线程输出1-100之间的奇数。二、代码实现继承Thread类:1、创建继承thread类的子类2、重写run方法3、创建thread类子类对象4、通过此对象调用start方法//1、创建继承thread类的子类class MyThread1 extends Thread{ //2、重写run方法 ...原创 2020-04-22 23:16:54 · 391 阅读 · 0 评论 -
Java学习——反射机制
反射反射的原理* 应用在一些通用性比较高的代码中* 后面学到的框架,大多数都是使用反射来实现的* 在框架开发中,都是基于配置文件开发 ** 在配置文件中配置了类,可以通过反射得到类中的 所有内容,可以让类中的某个方法来执行* 类中的所有内容:属性、没有参数的构造方法、有参数的构造方法、普通方法* 画图分析反射的原理 * 首先需要把java文件保存到本地硬盘 .java * ...原创 2020-04-22 18:04:49 · 66 阅读 · 0 评论 -
Java学习——泛型
泛型1 泛型类具有一个或多个类型变量的类,称为泛型类!class A <T> {}2 泛型类实例创建泛型类实例时,不给类型变量赋值,则会出现警告3 泛型方法具有一个或者多个类型变量的方法,称之为泛型方法class A <T> { public T fun(T t1)()}fun()方法不是泛型方法!它是泛型类中的一个方法public <...原创 2020-04-13 20:14:51 · 93 阅读 · 0 评论