自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Dev C++ 安装及使用方法教程(详细)

Dev C++ 安装及使用方法教程(详细)一、下载网址添加链接描述二、安装点开安装包三、选择English四、无脑下一步五、选择合适的安装位置六、安装完成,点击Finish七、第一次打开需要进行相关的配置,语言选择中文,其它的默认即可然后点Next再次点击Next八、使用在<文件> - 新建 - 源代码 直接新建一个九、然后再选择另存为十、在选择一个合适的位置(最好是D盘新建的一新文件夹),将它保存为 .c 文件十一、开始写代码啦十二、点.

2021-10-14 21:33:32 4333

原创 Oracle11g安装详细教程(windows10环境下安装)

Oracle11g安装详细教程(windows10环境下安装)1、下载Oracle11g安装包: https://pan.baidu.com/s/1wxLYCmXbhmpnDOsqtHgVlQ (百度网盘)提取码:ttdd2、解压压缩包到同一指定的文件目录,如下图所示:3、然后打开解压后的文件夹,然后点击 setup.exe 如下图所示:4、点击后会出现如下图所示的命令提示行5、然后出现下图所示的窗口,选择 是6、出现启动页面(之后耐心等待)7、等待一会会出

2021-09-26 21:18:02 15364 4

原创 子串、真子串、非空子串、非空真子串的求解方法(数据结构)

**字串、真子串、非空子串、非空真子串的求解方法**Eg:串S=“software”子串的求解方法n(n+1)/2 +1此处n为8,所以串S的子串为37真子串的求解方法n(n+1)/2此处n为8,所以S的真子串为36非空子串的求解方法n(n+1)/2此处n为8,所以S的非空子串为36非空真子串的求解方法n(n+1)/2-1此处n为8,所以S的非空真子串为35...

2021-06-19 18:32:05 10558

原创 dev-c++中怎么显示性能分析的数据

dev-c++中怎么显示性能分析的数据首先,如果没有进行设置是这种情况只需以下几步就可顺利的查看性能分析,请接着向下看第一步:点击工具第二步:点击编译选项第三步:点击代码生成/优化,点击代码性能,再把代码性能中的生成代码性能分析信息后的No改为Yes最后点击确定,重新编译,性能分析即可...

2021-06-14 10:34:45 1323

原创 为什么在类中一般要提供一个空参的构造器

为什么在类中一般要提供一个空参的构造器 在JavaBean中要求提供一个public的空参构造器。原因如下: (1)便于通过反射,创建运行时类的对象 (2)便于子类继承此运行时类时,默认调用super()(空参构造器)时,保证父类有此构造器...

2021-04-21 17:39:33 2528 1

原创 数组的遍历以及集合的遍历之增强for循环

数组的遍历之增强for循环先看一下for循环遍历以下数组 int[] arr = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}; for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]); }输出结果:123456789Process finished with exit code 0再来看一下增强for循环遍历以下数组模板: f

2021-04-08 20:23:51 309

原创 为什么可以这样写 Collection coll = new ArrayList();

为什么可以这样写 Collection coll = new ArrayList();因为接口是特殊的类

2021-04-07 20:35:35 356

原创 Enum类中常用的三种方法

Enum类中常用的三种方法package com.joy.bean;/* * Enum类中常用的方法 * ①values() * 作用:返回枚举类型的对象数组。该方法可以很方便的遍历所有的枚举值 * ②valueOf(String str) * 作用:可以把一个字符串转为相对应的枚举类对象。要求字符串必须是 * 枚举类对象的”名字“,如果不是,则报异常 * ③toString() * 作用:返回当前枚举类对象常量的名称 * * * */publi

2021-04-07 19:29:22 309 2

原创 自定义枚举类与使用enum关键字定义枚举类

如何手动创建枚举类package com.joy.bean;/** 如何手动创建枚举类** ①声明Season对象的属性(用private final修饰)* ②私有化类的构造器,并且给对象的属性赋值* ③提供当前枚举类的多个对象(用public static final修饰)* ------以下是可选步骤--------* ④获取枚举类对象的属性* ⑤重写Object类中的toString方法* */public class EnumOne { public static

2021-04-07 15:36:31 273

原创 什么是时间戳

什么是时间戳package com.joyed.bean;public class Time { public static void main(String[] args) {// 返回当前的时间与1970年1月1日00分00秒以毫秒为单位的时间差 long time = System.currentTimeMillis();// 这个返回值就被称为时间戳 System.out.println(time); }}...

2021-04-06 21:29:38 65

原创 如何理解String的不可变性

如何理解String的不可变性String s1 = "abc";执行上述代码时,JVM首先在运行时常量池中查看是否存在String对象“abc”,如果不存在该对象,则先在运行时常量池中创建一个新的String对象“abc”,然后将引用s1指向运行时常量池中创建的新String对象。执行上述代码时,在运行时常量池中只会创建一个String对象"abc" 如下图:String s1 = "abc";//字面量的定义方式String s2 = "abc";如果已存在该对象,则不用创建新的

2021-04-05 21:15:26 158

原创 创建线程的方式三:实现Callable接口(未结合泛型)

创建线程的方式三:实现Callable接口(未结合泛型)package com.callable.bean;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/** 创建线程的方式三:实现Callable接口* */public class CallableThird { public

2021-04-05 14:10:15 91

原创 线程通信的理解

线程通信的理解package com.tongxin.bean;/** 使用两个线程交替打印 1~100** 涉及的方法:* ①wait():是当前线程进入阻塞状态,并释放同步监视器* ②notify():唤醒被wait()阻塞的一个线程,如果有多个线程被* 阻塞,则先唤醒优先级高的线程* ③notifyAll():一旦执行此方法,就会唤醒所有被wait()阻塞的线程** 注意:* ①三个方法

2021-04-04 17:38:40 102

原创 Lock锁方式解决线程的安全问题及与其它方式的异同点

Lock锁方式解决线程的安全问题及与其它方式的异同点package com.xiancheng.bean;import java.util.concurrent.locks.ReentrantLock;/* * 解决线程安全问题的方式一:同步代码块(synchronized) * 解决线程安全问题的方式二:同步方法(synchronized) * 解决线程安全问题的方式三:Lock(锁,Lock是一个接口) * * 注意:①由于Lock是一个接口,所以需要用ReentrantLock来实

2021-04-04 16:59:19 78

原创 多线程中死锁出现的原因及出现后的现象

多线程中死锁出现的原因及出现后的现象对以下代码出现死锁的分析:如果线程先拿到s1这个监视器,则其运行到sleep()处,出现了阻塞;在这个线程阻塞的过程中,另一个线程也有可能执行,则其拿到s2,同理,其运行到sleep()处,也出现了阻塞,当两个线程都“醒”的时候,一个线程拿着s1不放,另一个线程拿着s2不放。导致想要s1的线程拿不到s1,想要s2的线程拿不到s2,两个线程僵持下去,谁也得不到自己想要的资源,最终便形成了死锁package com.anquan.bean;/** 多线

2021-04-04 16:29:43 309

原创 同步代码块解决继承Thread类的线程安全问题

同步代码块解决继承Thread类的线程安全问题与用同步代码块解决实现Runnable接口创建线程的安全问题的不同之处在于:①不能使用this来充当同步监视器②要在创建对象的前面加上static,以保证唯一性Eg:不能写成 Object obj = new Object();应写成 static Object obj = new Object();即要他们共用一把“锁”package com.xiancheng.bean;//存在线程安全问题public class TicketOne {

2021-04-04 16:12:49 166 1

原创 同步方法解决实现Runnable接口创建线程的线程安全问题

同步方法解决实现Runnable接口创建线程的线程安全问题代码不够标准,开发时要进行完善与修改,此处只是起到理解作用package com.xiancheng.bean;/** 同步方法解决实现Runnable接口创建多线程的安全问题* 如果操作共享數據的代碼完整的声明在一个方法中,我们可以考虑使用this来充当同步监视器 * */public class TestThree { public static void main(String[] args) { Tes

2021-04-04 15:42:27 107

原创 用同步代码块解决实现Runnable接口创建线程的线程安全问题

用同步代码块解决实现Runnable接口创建线程的线程安全问题此处用买票窗口举例说明package com.xiancheng.bean;/** 用实现Runnable接口的方式来创建多线程** 存在线程安全问题* 1.问题:买票过程中,出现了重票、错票* ①问题出现的原因是什么* 当某个线程操作车票的过程中,尚未操作完成,其它线程参与进来,也操作车票* ②如何解决* 思路:当一个线程a在操作ticket的时候,其它线程不能参与进来,直到线程a操作完ticket

2021-04-04 15:38:44 129

原创 创建多线程的方法二:实现Runnable接口(详细)

创建多线程的方法二:实现Runnable接口(详细)图片结合代码中的注释进行对比查看图片一:将一个实现类的对象作为形参,传递给一个形参是Runnable类型的构造器 )图片二:因为其调用了Runnable类型的target的run()方法(注意结合代码进行查看)package com.xiancheng.bean;/** 创建多线程的方法二:实现Runnable接口** 1. 创建一个实现了Runnable接口的类* 2. 实现类去实现Runnable中的抽象的方法-->run();

2021-04-02 10:54:14 531

原创 线程优先级的设置及其注意事项

线程优先级的设置及其注意事项package com.xiancheng.bean;/** 线程的优先级* (1)MAX_PRIORITY : 10* (2)NORM_PRIORITY : 5 (这个是默认的优先级)* (3)MIN_PRIORITY : 1** 如何获取和设置线程的优先级* ①获取:getPriority(); 获取线程的优先级* ②设置:setPriority(); 设置线程的优先级** 注意:并不是优先级大的一定先执行,而是先执行的可能性比较大 *

2021-04-01 20:58:36 773

原创 多线程的常用方法

多线程的常用方法话不多说,上代码(详细说明在代码里)package com.xiancheng.bean;/** 线程类的常用相关方法* 1、start(); 启动当前的线程,调用当前线程的run();* 2、run(); 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明再此方法中* 3、currentThread(); 静态方法,返回执行当前代码的线程* 4、getName(); 获取当前线程的名字* 5、setName(); 设置当前线程的名字* 6、yiel

2021-04-01 20:28:25 53

原创 习题,创建多个线程,其中一个用来遍历1~100的所有偶数,另一个遍历1~100的所有的奇数。并且再创建一个Thread的匿名子类来遍历1~100所有偶数

习题,创建多个线程,其中一个用来遍历1100的所有偶数,另一个遍历1100的所有的奇数。并且再创建一个Thread的匿名子类来遍历1~100所有偶数package com.xianchengtest.bean;/** 创建两个分线程,其中一个线程遍历100以内(包括100)* 的所有的偶数,另一个遍历100以内(包括100)的所有的* 基数* */public class MultithreadingTest { public static void main(String[] a

2021-04-01 13:59:45 239

原创 多线程的创建与启动

多线程的创建与启动详细说明见于代码中package com.xiancheng.bean;/** 线程的创建与启动** 大致方法:通过 java.lang.Thread 类来体现* 补充:Thread类的特性* ①每个线程都是通过某个特定的Thread对象的run()方法来操作完成的,* 经常把run()方法的主体称为线程体* ②通过该Thread对象的start()方法来启动这个线程,而非直接调用run()*

2021-03-31 17:41:15 111 2

原创 易被认为是多线程的程序(代码)

***注意:以下程序并不是多线程,多线程的创建与使用请见 ***package com.xiancheng.bean;/**一条线就是程序的一个执行路径* 如果用线连接以下的程序的执行路径的话,* 你会发现一条线就可以把整个程序连接起来* 所以是单线程,如果一条线无法连接整个程序,* 则这个程序就是多线程* */public class Multithreading { public static void main(String[] args) { Multith

2021-03-31 17:39:36 43

原创 并行与并发的区别

并行与并发的区别(1)***并行:***多个cpu同时执行多个任务 (就好像多个人同时做多个事情)(2)***并发:***一个cpu“同时”多个任务(就好像一个人“同时”做多个事情) 注意:并发中的 “同时” 并不是真正的同时,就好像一个人想要做多个事情,就要先把手头的事情放下, 在去做另一件事。只不过由于cpu切换的时间特别短,人们感受不到,所以称为 “同时” 。...

2021-03-31 14:09:39 85

原创 try-catch结构的理解与使用

try-catch结构的理解与使用finally在何时使用以及如何使用详情请见 https://editor.csdn.net/md/?articleId=115316849

2021-03-30 09:02:57 560

原创 try-catch-finally中finally的理解与使用

try-catch-finally中finally的理解与使用package com.yichang.bean;import java.io.File;import java.io.FileInputStream;import java.io.IOException;/** try-catch-finally结构中finally的使用* ①finally在此结构中是可选的* ②finally中的代码是一定会被执行的,即使catch中又出现异常、try中有return语句、catch

2021-03-30 08:57:14 265

原创 接口的多实现和接口之间的关系--多继承

接口的多实现和接口之间的关系–多继承代码或许不严谨,仅供理解使用package com.jiekou.bean;//接口之间的关系:多继承(详见最下面的代码)public class InterFaceTwo { public static void main(String[] args) { //实现类的实例化(实例化相关知识详见 https://blog.csdn.net/m0_53777734/article/details/115254948)

2021-03-27 11:12:21 178

原创 接口的定义与使用

*接口的定义与使用package com.jiekou.bean;/** 一、接口的使用* 1、接口使用interface来定义* 2、Java中接口和类是并列的结构* 3、如何定义接口;定义接口中的成员(就好像定义类中的成员)* 在JDK7及以前的时候:只能定义全局常量和抽象方法* 全局常量:public static final* 抽象方法:public abstract* 注:此处所说版本为最常用的版本* 4、接

2021-03-27 10:31:05 189

原创 对构造器的再理解

对构造器的再理解希望你能有恍然大悟之感package com.gouzaoqi.bean;/** 构造器的作用* (1)创建对象* (2)初始化对象的属性* */public class ConstructorsTest { public static void main(String[] args) { /* * 试问 new Person(); 中的Person();是什么? * 没错,它就是构造器,与下面的构造器像不像

2021-03-26 20:48:43 49

原创 代码块知识精华(静态代码块与非静态代码块)

关于代码块方面的知识代码里面有详细的说明package com.jingtai.bean;import com.jicheng.bean.Person;/** 非静态代码块与静态代码块:* 一、作用:可以用来初始化类、对象* (1)赋值的方法* ①默认初始化* ②显式初始化* ③构造器中初始化* ④通过“对象.属性” 或 “对象.方法”进行初始化*

2021-03-26 08:58:39 97

原创 Java中向下转型的好处

Java中向下转型的好处温馨提醒:具体说明在代码中一、此为父类package com.zhuanxing.bean;//使用向下转型法的好处,此处以代码说明(简单代码,只为说明向下转型的好处)public class Person { String name; //尽量在每个类中都显式设置一个public的构造器 public Person(){ } public void setName(String name){ this.name =

2021-03-25 20:58:20 335

原创 成员变量与局部变量相同点与不同点(易错)

成员变量与局部变量相同点与不同点(易错)package com.happy.bean;/** 成员变量与局部变量的相同点与不同点、** (1)相同点* ①定义变量的格式:数据类型 变量名 = 变量值* ②先声明,后使用* ③变量都有其对应的作用域* (2)不同点* ①在类中声明的位置不同* 属性:直接定义在类的一对{}内* 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量* ②关于权...

2021-03-22 11:09:46 349

原创 Java中四种权限修饰符的大小排列顺序

Java中四种权限修饰符的大小排列顺序private<default<product<public

2021-03-22 10:42:53 2734

原创 数组的二分法查找

数组的二分法查找算法思想:先算出中间的下标,然后再拿要找的数与中间的那个数(记此数为:x)进行比较,若x大于中间的数(记中间的数为middle),则把整个数组从中间分开,再从右边的一组数进行查找,反之,从左边的一组数进行查找。具体代码如下:package com.hahaha.bean;//以下为数组的二分法查找public class DichotomousSearch { public static void main(String[] args) { /*

2021-03-22 09:33:21 163

原创 Java中数组的线性查找

数组的线性查找package com.hh.bean;//数组的查找(算法:线性查找)public class Seek { public static void main(String[] args) { //int 型数组的查找 int[] arr = new int[]{1,2,3,4,5,6}; boolean flag1 = true; for(int i=0;i<arr.length;i++){

2021-03-22 08:34:12 155

原创 Java中关于对数组的赋值和复制的区别与理解

Java中关于对数组的赋值和复制的区别与理解①数组的赋值package com.haha.bean;/** 使用简单数组* (1)创建一个名为Assignment的类,在main()方法中声明array1和array2两个变量,他们是int[]类型的数组* (2)使用{},把array1初始化为8个素数:2,3,5,7,11,13,17,19* (3)显示array1的内容* (4)赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值(如array[0] =

2021-03-21 16:01:10 445

空空如也

空空如也

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

TA关注的人

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