自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 数组集合(二)

Java 数组集合(一)ListSetSet注重独一无二的性质,该体系集合用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。对象的相等性本质是对象hashCode值(Java是依据对象的内存地址计算出的此序号)判断的,如果想要让两个不同的对象是为相等的,就必须覆盖Object的hashCode方法和equals方法。HashSet哈希表边存放的是哈希值。HashSet存储元素的顺序并不是按照存入是的顺序(和List显然不同)而是按照哈希值来存放所以取数据也是按照哈希值取得。元素的哈希值是通

2020-07-31 19:04:12 122

原创 Java 数组集合(一)

ListJava的List是一个非常有用的数据类型。List是有序的Collection。Java List一共有三个实现类,分别是ArrayList、Vector和LinkedList。import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;public class ListTest { public static void main(Str

2020-07-30 18:37:08 134

原创 Java 线程与进程(五)

Java 线程与进程(一)Java 线程与进程(二)Java 线程与进程(三)synchronized和ReentrantLock的区别synchronized是和if、else、for、while一样的关键字,ReentrantLock是类,这是二者的本质区别。既然ReentrantLock是类,那么它就提供了比synchronized更多更灵活的特性,可以被继承、可以有方法、可以有各种各样的类变量,ReentrantLock比synchronized的扩展性体现在几点上:1)Reentrant

2020-07-29 19:06:42 83

原创 Java 线程与进程(四)

Java 线程与进程(一)Java 线程与进程(二)Java 线程与进程(三)锁Java中锁的是保证线程安全的重要手段,也是java并发编程的基础。synchronizedsynchronized 关键字,代表这个方法加锁,相当于不管哪一个线程,运行到这个方法时,都要检查有没有其它线程正在用这个方法(或者该类的其他同步方法),有的话要等正在使用synchronized方法的线程运行完这个方法后再运行此线程,没有的话,锁定调用者,然后直接运行。它包括两种用法:synchronized 方法和 sy

2020-07-28 17:48:38 97

原创 Java 线程与进程(三)

Java 线程与进程(一)Java 线程与进程(二)多线程概念多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。线程池概念线程池(thread pool)就是提前创建若干个线程,如果有任务需要处理,线程池里的线程就会处理任务,处理完之后线程并不会被销毁,而是等待下一个任务。由于创建和销毁线程都是消耗系统资源的,所以当你想要频繁的创建和销毁线程的时候就可以考虑使用线程池

2020-07-27 16:29:24 133

原创 Java 线程与进程(二)

Java 线程与进程(一)进程概念进程(Process)是资源分配的基本单位。所有与该进程有关的资源,都被记录在进程控制块PCB中。以表示该进程拥有这些资源或正在使用它们。另外,进程也是抢占处理机的调度单位,它拥有一个完整的虚拟地址空间。当进程发生调度时,不同的进程拥有不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间。创建1.使用Runtime的方法创建进程步骤1.准备指令2.创建Runtime对象3.创建Process对象并调用Runtime对象4.运行注意:exec方法不

2020-07-26 13:35:54 112

原创 Java 线程与进程(一)

线程概念线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。创建public class ThreadTest { public static void main(String[] args) { Thread thread = new Thread(){ public void run(){ System.out.p

2020-07-25 16:47:49 134

原创 Linux系统指令(五)

Linux系统指令(一)Linux系统指令(二)Linux系统指令(三)Linux系统指令(四)操作端口相关指令netstat 指令netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况格式:netstat -tunlp | grep 端口号 -t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l 仅列出在Listen(监听)的服务状态 -p 显示建立相关链接的程序名

2020-07-24 22:46:56 78

原创 Java 设计模式(二)

单例模式单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例, 并且该类只提供一个取得其对象实例的方法(静态方法)。例如 Hibernate 的 SessionFactory,它充当数据存储源的代理,并负责创建 Session 对象。SessionFactory 并不是轻量级的,一般情况下,一个项目通常只需要一个 SessionFactory 就够,这是就会使用到单例模式。单例模式有八种方式:1) 饿汉式(静态常量)优缺点说明:优点:这种写法比较简单,就是在类装载

2020-07-23 13:41:58 54

原创 java 设计模式(一)

七大原则一、单一职责原则介绍:单一职责原则就,对于类来说,一个类应该只负责一项职责。优点:减低类的复杂度,提高可读性,可维护性public class SingleResponsibility { public static void main(String[] args) { // TODO Auto-generated method stub Vehicle2 vehicle2 = new Vehicle2(); vehicle2.run("汽车"); vehicle2.r

2020-07-22 16:39:41 101

原创 java 算法(六)

最短路径算法迪杰斯特拉算法迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个结点到其他结点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。迪杰斯特拉(Dijkstra)算法过程设置出发顶点为v,顶点集合V{v1,v2,vi…},v到V中各顶点的距离构成距离集合Dis,Dis{d1,d2,di…},Dis集合记录着v到图中各顶点的距离(到自身可以看作0,v到vi距离对应为di)从Dis中选择值最小的di并移出Dis集合,同时移出V集合

2020-07-21 13:20:49 66

原创 Java 算法(五)

普里姆算法(Prim算法)普利姆(Prim)算法求最小生成树,也就是在包含n个顶点的连通图中,找出只有(n-1)条边包含所有n个顶点的连通子图,也就是所谓的极小连通子图普利姆的算法如下:设G=(V,E)是连通网,T=(U,D)是最小生成树,V,U是顶点集合,E,D是边的集合若从顶点u开始构造最小生成树,则从集合V中取出顶点u放入集合U中,标记顶点v的visited[u]=1若集合U中顶点ui与集合V-U中的顶点vj之间存在边,则寻找这些边中权值最小的边,但不能构成回路,将顶点vj加入集合U中,将

2020-07-20 13:36:27 73

原创 java 算法(四)

排序算法(二)快速排序快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列时间复杂度是 O(nlogn) ~ O(n^2)public static void quickSort(int[] arr,int left, int right) { int l = left; //左下标

2020-07-19 13:51:13 118

原创 java 算法(三)

分治算法分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并分治法在每一层递归上都有三个步骤:分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题合并:将各个子问题的解合并为原问题的解。分治算法的应用:二分查找棋盘覆盖合并排序快速排序循环赛日程表汉

2020-07-18 19:08:49 110

原创 java 算法(二)

查找算法顺序(线性)查找线性查找是对一个数组中的值逐一比对,发现有相同值,就返回下标,对数组中的值无顺序要求。时间复杂度为O(n) public static int seqSearch(int[] arr, int value) { // 线性查找是逐一比对,发现有相同值,就返回下标 for (int i = 0; i < arr.length; i++) { if(arr[i] == value) {

2020-07-17 12:41:42 93

原创 java 算法 (一)

排序算法冒泡排序算法

2020-07-16 04:20:14 71

原创 java 使用*打印图形(菱形、平行四边形、三角形)

打印图形画图题的解决方法:首先是要确定要画图形的各个参数如图形的边数、打印的字符;然后确定每一行要输出的字符数和空格数(字符和空格数的初始值);从输出的字符数和空格数推测出是递增还是递减;最后是判断终止条件或者是变换方向的条件。通常是定义以下几个变量public static void XX(){ //变量number(一般是行数/作为循环次数) int number = 10; //输出的字符串 String str = "* "; //

2020-07-15 17:33:51 2534

原创 Linux系统指令(四)

Linux系统指令(四)Linxu的下载命令wget Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到 本地服务器。格式 :wget 要下载的文件路径例:wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.56/bin/apache-tomcat-8.5.56.tar.gz**其他下载格式使用wget –rejec

2020-07-14 16:02:55 137

原创 Linux系统指令(三)

Linux系统指令(三)Linux的进程和服务进程指令1. ps命令参数:-A :所有的进程均显示出来,与 -e 具有同样的效用;-a : 显示现行终端机下的所有进程,包括其他用户的进程;-u :以用户为主的进程状态 ;x :通常与 a 这个参数一起使用,可列出较完整信息。输出格式规划:l :较长、较详细的将该PID 的的信息列出;j :工作的格式 (jobs format)-f :做一个更为完整的输出。较常用的指令ps -aux - 查看当前linux的瞬间进程状态各相关

2020-07-13 11:57:09 111

原创 Linux系统指令(二)

压缩tar –cvf jpg.tar *.jpg 将目录里所有jpg文件打包成tar.jpgtar –czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gztar –cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2tar –cZf jpg.tar.Z *.jp

2020-07-12 14:02:10 112

原创 Linux系统指令(一)

Linux系统指令(一)Linux指令基本命令ifconfig - 查看本机的网络信息who am i - 打印当前的登录用户信息su 账号 - 切换当前账号pwd - 打印当前的所在的工作路径cd 路径 - 进入某个目录(这个目录可以是相对路径,也可以是绝对路径)ll - 打印当前目录下的所有文件和文件夹(有一些详细信息)ll -a (可以显示隐藏文件)ls - 打印当前路径下的文件和文件夹的名称文件操作命令mkdir xxx - 创建文件夹参数:-p 连带创建父级目录rm -

2020-07-11 11:03:47 180

空空如也

空空如也

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

TA关注的人

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