自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 浅谈创建线程的几种方式

创建线程一般有四种方式:继承Thread类实现Runnable接口实现Callable接口使用线程池下面介绍这几种方式的简单使用继承Thread类使用方式:(1)创建一个类继承Thread类(2)重写run()方法(3)调用start()方法开启线程 public class RunnableDemo implements Runnable { @Override public void run() { System.out.println

2021-06-24 22:47:14 117

原创 简单介绍如何通过反射获取注解的值

简单说明可以利用反射获取注解中的值,通过反射可以获取一个类的Class对象,通过该对象可以获取注解,获取到对应的注解后,就可以获取注解中的值,具体代码实现如下:public class AnnotationDemo { public static void main(String[] args) throws NoSuchFieldException { // 获取类的Class对象 Class clazz = Demo.class; // 获取

2020-12-12 13:37:26 1882

原创 简单介绍Java中的注解

基本概念注解在我们日常开发中经常使用,例如@Override注解(用于方法重写)、@SuppressWarnings注解(用于解除警告),注解通常放在类、方法、属性的上面,即注解可以作用于类、方法和属性。下面简单来看一下@Override注解和@SuppressWarnings注解的源码@Override注解: @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface Override {

2020-12-12 10:38:12 174

原创 简单介绍java中的反射

基本概念能够分析类能力的程序成为反射;反射的功能极其强大;可以用它来分析动态运行时的类的信息。Class类Class类用于保存一个类的基本信息,例如属性和方法,构造器。下面简单介绍一下获取Class类实例的三种方式:(1)Object类中的getClass()方法通过调用Object类中的getClass()方法可以获取该类Class对象,...

2020-12-05 21:11:40 117

原创 简单介绍java中的hashCode()方法

基本概念hashCode()方法是Object类中的一个方法,这个方法的作用是返回一个hash值。Object类中的hashCode()方法为一个native方法:public native int hashCode();为什么我们要重写hashCode()方法?我们在自定义一个类时,往往需要重写Object类中的hashCode()方法,这是因为当使用HashSet这个容器存储对象时,如果该类不重写hashCode()方法,则HashSet不会对存储在里面的该类对象进行去重(即该类两个对象之间

2020-11-29 21:37:33 246

原创 简单介绍java中的equals()方法

基本概念equals()方法是Object类中的方法,通过Object类中的equals()方法我们可以知道,该方法是比较两个对象的内存地址是否相等,下面简单介绍一下这一个方法。Object类中的equals()方法如下: public boolean equals(Object obj) { return (this == obj); }equals()方法Object类中的equals()方法是比较两个对象的地址是否相等,这个比较方式不适合我们自定义类的对象的比较;例

2020-11-28 23:29:25 394

原创 简单介绍java中的Comparable接口和Comparator接口

基本概念在开发过程中,有时候我们会对一个类的多个对象进行排序;例如对人进行排序时,我们可以根据姓名或者年龄进行排序。使用java中的Comparable接口和Comparator接口对一个类的多个对象进行排序处理。ComparableComparable是一个接口,类的对象如果想要排序,就要实现这个接口;接口里面只有一个抽象方法compareTo() ,该方法有一个int类型的返回值,两者进行比较时,当前者大于后者,返回值大于零;当前者等于后者时,返回值等于零;当前者小于后者时,返回值小于零。使用方

2020-09-15 23:22:29 346

原创 简单介绍java中的强制类型转换

强制类型转换的概念将一个类型强制转换成另一个类型的过程称为强制类型转换。强制类型转换的使用格式:所要转换的类型 变量名 = (所要转换的类型)原类型;例子: double x = 3.14;int y = (int) x; (这种转换会所示精度,即强制转换后y的值为3)强制类型转换在引用类型中的使用强制类型转换经常在多态中使用,即父类引用既可以引用自己的实例,又可以引用子类的实例。当子类的实例被父类所引用时,只可以调用父类中的方法,如果想调用子类的所有方法,必须经过强制类型转换。例子如下:

2020-09-06 15:19:17 2594

原创 简单介绍java中的数组(一维数组)

基本概念数组是一种数据结构,用于存储相同类型的值;通过一个整型下标可以访问数组中的任一个值。创建一个数组创建一个数组有三种形式:(1)使用new关键字创建一个指定大小的数组 //创建一个大小为10的数组 int[] arrayInt = new int[10];如果一个数组没有存储值,则数组中的元素默认为该类型的默认值,即 0 (int类型的默认值为0);(2)使用new关键字创建一个数组,并初始化数组中的值 //创建并初始化一个数组,数组的大小为元素的个数

2020-08-28 23:57:28 224

原创 简单介绍String和StringBuffer和StringBuilder的区别

基本概念StringBuilder: 从StringBuilder的源码中可以知道它的底层是char类型的数组,它的初始化大小为16; public StringBuilder() { super(16); } AbstractStringBuilder(int capacity) { value = new char[capacity]; }...

2020-08-27 23:31:23 683

原创 简单介绍java中的自动装箱与拆箱

基本概念java中的八种基本类型都有自己的包装类,从基本类型转换为包装类型称为自动装箱;从包装类型转换为基本类型称为自动拆箱。基本类型对应的包装类型byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean转换过程自动装箱:基本类型向对应的包装类型转换需要调用对应包装类的valueOf()方法,例如Integ

2020-08-12 23:09:56 183

原创 简单介绍java中的四个修饰符

java中的修饰符分为四种,分别为public,default,protected,private,它们的作用范围如下表:作用范围public(公有的)所有类default(默认的)同包protected(受保护的)同包和子类private(私有的)本类public(公有的):用public修饰的属性或者方法可以在所有的类中使用default(默认的):用default在修饰属性或方法时,可以省略不写,同理,类属性或者方法前没有修饰符时一般都是默认使用

2020-08-10 23:18:06 971

原创 浅谈java中的static关键字

static关键字的简单介绍类中的属性可以用static关键字修饰,用static关键字修饰的变量称为静态变量,它被类的所有实例所共享,即该静态变量的值一旦改变,该类所有实例的静态变量的值也会跟着改变,需要注意的是无论有多少个实例,静态变量只有一份。在日常开发中会用到static关键字,static关键字可以用来修饰变量、常量和方法。static关键字的使用静态变量既可以通过类名直接调用,也可以通过类的实例进行调用,不过由于静态变量与类的实例无关,所以推荐使用类名直接调用静态变量。public cl

2020-08-01 14:02:48 108

原创 简单介绍break和continue的区别

二者区别break和continue一般用于循环中,二者的最大区别在于:break表示结束整个循环(break所在的最近的那个循环)continue表示结束本次循环(continue所在的最近的那个循环)如果break和continue出现在嵌套循环中,则应该使用标签的方式用于操作外层的循环代码展示public class BreakAndContinueDemo { public static void main(String[] args) { breakMetho

2020-07-28 23:35:33 14665 1

原创 判断一个字符串是否为回文字符串

这里有两种方式(基于数组),详细请看代码代码1:public static boolean isPalindromeString(String string){ if (string.length() < 1){ throw new RuntimeException("请输入长度大于1的字符串!"); } //先将字符串转为数组 char[] stringChar = string.toCharArray()

2020-07-18 17:13:25 521

原创 浅谈Mysql服务器的结构

Mysql服务器的结构Mysql服务器大致可以分为三层:客户端层、server层和引擎层

2020-07-14 21:34:18 131

原创 浅谈String类(jdk1.8)

String类的简单介绍1.String类使用final关键字进行了修饰,所以不能被其他类所继承。2.String类的底层是char类型的数组,并且使用final关键字进行修饰,所以String不可变。3.String存在于JVM中的字符串常量池中。验证String存在于JVM的字符串常量池接下来通过代码来进行验证public class StringDemo { public static void main(String[] args){ String str1 =

2020-07-05 23:42:13 233

原创 设置、查看或修改Git的用户名和邮箱

设置Git的用户名和密码首先打开Git Bash,一般在桌面上鼠标右键就可以看见。在第一次安装完Git之后需要设置Git的用户名和密码,命令如下:git config --global user.name "name"git config --global user.email "email"查看Git的用户名和密码git config user.namegit config user.email修改Git的用户名和邮箱git config --global user.name "n

2020-07-01 22:20:27 407

原创 MyIsam引擎与InnoDB引擎的区别

MyIsam引擎1.MyIsam引擎的索引与数据是分开存储的,所以索引为非聚集索引。2.采用B+树作为索引的结构,其叶子节点存储记录的指针。3.MyIsam引擎不支持事务。4.MyIsam引擎不支持数据恢复,即数据库发生崩溃后,可能会丢失数据。5.MyIsam引擎中的锁是表锁。InnoDB引擎1.InnoDB引擎的索引和数据是存储再一起的,所以索引为聚集索引。2.InnoDB引擎的表的主键为聚集索引,聚集索引在一个表中只能有一个。如果表中没有主键,则非空的唯一索引为聚集索引。3.采用B+树

2020-06-18 16:04:56 112

原创 更换Maven中央仓库镜像及地址

1.为什么要更换Maven中的中央仓库源和仓库地址?  因为下载安装的maven默认配置的中央仓库源的服务器在国外,所以下载jar包的速度会很慢。我们可以将中央仓库源换成国内的。国内的中央仓库源有好多,如华为源,阿里源等等,这里我换的是阿里 源。换仓库地址的原因是因为maven默认把从服务器下载的jar包放在:${user.home}/.m2/repository 这个地址中,一般这个地址是在C...

2020-04-22 16:30:55 875

原创 冒泡排序

用数组实现冒泡排序定义冒泡排序是一种比较简单的排序算法,这种排序通过比较两个相邻间的元素的大小进行排序。代码基本实现/** * 方式一 * @param array * @return */ public int[] sort1(int[] array){ int length = array.length; ...

2020-04-15 21:39:11 77

原创 Centos7.x配置静态ip

Centos7配置静态ip基于NAT模式配置静态ip首先在虚拟机设置里将自己的网卡设置为NAT模式,然后回到vmware界面,在上方找到编辑-虚拟网络编辑器,从下图中我可以看到子网ip为192.168.58.0,子网掩码为255.255.255.0,由此可以推断出我们可以配置的静态ip的范围为192.168.58.0~255,需要注意的是ip地址不能和网关一样。我们可以点击下图中的NAT设置查...

2020-04-14 09:20:40 120

原创 Ubuntu16.04配置静态ip

Ubuntu16.04配置静态ip1.安装好ubuntu16.04虚拟机之后,首先按照下图的步骤进行:首先需要打开虚拟网络编辑器,点击VMnet8的虚拟网卡,如果没有这个网卡,只需在编辑虚拟机设置里面将网络适配器类型改为NAT模式,第三步的对勾建议不要取消掉,从第四步中可以获取子网掩码,这个一会在配置的时候用得到,然后点击NAT设置就可以获取到网关。 ## 2.进入虚拟机后,打开终端使用...

2020-04-13 23:18:57 338

空空如也

空空如也

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

TA关注的人

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