自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进制的转换

我们上面各个进制都是用了1011,我们可以把它看作1011.0,后面小数位置为0,我们乘的时候,从小数点的左边依次从0开始自增作为次幂的值,然后是几进制转化为十进制,就乘几的多少次幂。1>原理:“四合一”, 取二进制中的四位数,合为十六进制中的一位数,里面的四合一,指的是从二进制的小数点为分界点,向左(右)各取四位数。1>原理:“三合一”, 取二进制中的三位数,合为八进制中的一位数,里面的三合一,指的是从二进制的小数点为分界点,向左(右)各取三位数。1>原理: 除以8,直到商为0为止,反向取余。

2024-04-01 20:22:00 701

原创 ArrayList以及顺序表

上面就是我们自己实现ArrayList的具体过程,像在ArrayList中,在创建对象的时候,是不会给初始空间的,只有在add的时候,才会给一个10的空间,而且在扩容的时候,是1.5倍扩容。线性表在逻辑上为线性结构,也就是连续的一条直线,但物理上并不一定是连续的,线性表在物理上存储的时候,通常是以数组和链式结构的形式存储。是n个具有相同特性的数据元素的有限序列,线性表是一种在实际中广泛使用的数据结构,常见的线性表有:顺序表,链表,栈,队列。在数据结构中,每次存储数据的时候,一定要记住,必须有一个前驱信息。

2024-03-21 11:03:13 220

原创 数据结构的基本框架以及泛型

像我们在泛型里面创建对象的时候,我们不可以new一个泛型类型的数据,必须是Object类型的,因为泛型是在编译时期的一个概念,当程序运行起来到了JVM以后,就没有了泛型的概念。像在上面就是个泛型的代码,在上面这个代码里面,我们可以发现,我们在输出的时候可以输出整数,也可以输出字符串,我们想输出其他的类型,只要创建一个新的对象就可以了。通过上面两个截图,调用valueof的底层源码可以看到,它的取值范围是在-128到127之间的,那也就是说我们的aa,以及bb是超出了这个范围的.

2024-03-17 13:40:39 844

原创 Java se 的异常

如果要写一个自定义异常,一定要继承一个异常,一般来说是继承Exception或者RuntimeException这两个异常就像这样,在自定义之前一定要先继承一下!!!

2024-02-19 18:18:45 867 1

原创 Java se的String类的详解

而且,本质的话,我们在println那应该是访问地址的,但是在String的底层里,其实对’ str ’ 进行了重写,所以在输出时候,就会直接输出str里面的内容。在这里面的那个ret是用来接收转化以后的大写的,所以可以得出,这个转化并不是在原有的基础上转化,而是转变为大写以后,会是一个新的对象。1>后面两个是可变的,String是不可变的,例如上面的拼接的话,String是产生一个新的对象,可以通过图看出来,String是一个引用类型,我们是通过指向我们所要引用的对象,然后进行输出的。

2023-12-28 10:59:33 994

原创 Java se的语言特征之多态

在父类的构造方法里面,可以调用子类和父类重写的方法,此时会调用子类的方法,此时也会发生动态绑定,但是注意,不可以这么写。当父类的引用,引用的子类对象不一样的时候,调用这个重写的方法,表现出的行为是不一样的,我们把这种思想叫做多态。2>接口中不可以被实现的方法,只有抽象方法(static , deafult修饰的不受限制)这个里面的话,B也具备了A的功能,但是后面用接口B的时候,B和A都要重新实现。通过父类的引用,只能调用父类自己独有的属性,方法,构造方法。1>abstract修饰的类,方法为抽象类(方法)

2023-12-12 10:11:22 842

原创 Java se的语言特征之继承

继承就是对共类进行抽取,放进一个特定的类里面System.out.println(this.name + "吃饭");System.out.println(this.name + "吃饭");System.out.println(this.name + "汪汪叫");System.out.println(this.name + "吃饭");System.out.println(this.name + "喵喵叫");在上面的这个代码中,就是一个子类和父类之间的继承关系。

2023-12-10 20:36:25 372 1

原创 Java se的语言特征之封装

像上面的这幅图,就是访问修饰限定符的范围,其中default是默认的,就是我们在创建的时候不写访问修饰限定符,就默认是default。从语法的层面来理解就是,被private修饰的成员变或者成员方法,只能在当前类中使用,但是可以通过set以及get进行间接访问。可以理解为套壳屏蔽细节,将数据和操作数据的方法进行有机的结合,隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互。就是可以理解为,A和B是一个班的同学,那这个班级对他们两个来说就是都拥有的,就是静态成员变量。

2023-12-07 22:44:05 374

原创 Java se之类和对象

/属性(成员变量)//行为(成员方法)1>变量与方法1.成员变量:普通成员变量静态成员变量2.成员方法:普通成员方法静态成员方法其中的静态变量与方法,在后面的封装里面讲述注意点1>不建议一个Java文件里面创建多个类,建议是创建一个类放在一个Java文件里面2>main方法所有的类一般要使用public修饰3>public修饰的类必须和文件名相同。

2023-12-07 19:41:22 952

原创 Javase的自定义输入,方法的使用与数组的定义和使用

java中的输入与c语言里面的输入有所不同,具体的代码是这样的可以在上面看到,我们输入是用到了scanner这个方法在这里面我们可以看到我们在输入的时候,在a后面是跟了一串东西的,是scanner.上一个东西,后面的话就是跟上next加上我们前面定义的类型的引用类型.还有一种是循环进行输入在这里的话主要就是我们加了一个循环,然后在循环里面我们再加了一个scanner.hasNext(),这一个是固定的public static 返回值 方法名(形参列表){

2023-12-06 22:31:02 837 1

原创 多线程案例之阻塞队列与生产者消费者模型

1.如果对一个已经满了的队列进行入队列,此时入队列操作就会阻塞,一直阻塞到队列不满(其他线程出队列元素)之后。2.如果对一个已经空了的队列进行出队列,此时出队列操作就会阻塞,一直阻塞到队列不空(其他线程入队列元素)之后。1>分布式系统中的阻塞结构,并非是简单的数据结构,而是基于这个数据结构实现的服务器程序,又被部署在主机上了。基于阻塞队列,就可以实现"生产者消费者模型"(很朴素的概念,描述的是一种多线程编程的方法)take方法是用来出队列的,也是带有与阻塞功能的,为空的时候出队列就会造成阻塞。

2023-12-03 23:26:07 853 1

原创 线程的设计模式之单例模式(讲述饿汉以及懒汉模式和他们的线程安全)以及指令重排序

单例 = 单个实例(对象)某个类,在一个进程中,只应该创建出一个实例(原则上不应该有多个),然而使用单例模式,就是对咋们的代码进行进一步的检查举个栗子~~有时候代码中,需要有一个对象来进行管理/持有大量数据此时,有一个对象就可以,比如有一个对象管理10G的数据,但是要不小心创建出了多个对象,内存空间就会成倍增长,机器就会扛不住的所以唯一对象要如何去保证呢?1>假设通过"君子约定",写一个文档,文档上面写着,每个接受的程序员,不可以把这个类创建多个实例,但是显然这个是不靠谱的。

2023-12-03 21:07:39 864

原创 线程的内存可见性引起的安全问题(里面还涉及volatile关键字,wait以及notify)

那1号进去一下,没钱,又出门,出来到门口了又想现在里面会不会又有钱了,因为ATM一次不是只能进去一个人嘛,本应该1号出来了要走在一旁让后面的滑稽大哥进去才是, 但是1号不啊 ,1号在这里反复摇摆,进进出出,就让后面的人进不去里面了(不考虑1号会被打的问题哈)

2023-12-02 21:24:50 771 1

原创 线程中的死锁问题

这里面由于只有四根筷子,所以我们的滑稽在想吃面时候,需要从左边拿一根,右边拿一根,这样才可以凑成一双吃面条,当一个滑稽吃完的时候,就会放下,然后另一个滑稽拿筷子吃,因为滑稽们是著名哲学家,除了吃面还要进行思考!但是总有意外发生,有一天,他们四个同时想吃面条,这时候他们同时拿起了自己的一根筷子,可是一根吃不了面的,但是他们又互不谦让,就一直僵持着,吃不了面。线程2在获取到了锁b的情况下,又想获取锁a,这个时候,线程就会卡住了,无法继续工作。

2023-12-02 16:52:15 1011 1

原创 线程安全中的加锁问题

某个代码,无论是单线程执行还是多线程执行,都不会有bug,就称为线程安全.若是一个代码,单线程代码下是安全的,然后多线程下可能有bug,这种情况就称为"线程不安全"或者是"线程安全问题".

2023-12-02 15:29:24 1282 1

原创 线程的状态种类以及含义和切换状态

指定时间的阻塞,就在到达一定时间内之后会自动解除阻塞,使用sleep会进入这个状态,使用带有超时时间的join也会.就是像图中红圈中的,已经创建好了t1和t2,但是还没进行下一步的t1.start();这一步,就是NEW状态。不带时间的阻塞,就是死等,必须要满足一定条件才会阻塞解除,join或者wait都会进入WAITING。当程序卡住的时候,意味着一些关键的线程阻塞了,就可以观察线程状态,分析出一些原因.因为学习状态,做大的作用就是调试多线程的bug时候,可以作为重要参考,由于锁竞争引起的阻塞。

2023-11-30 13:57:15 312

原创 Thread 类的基本用法

如果是Runnable或者lambda表达式,this就无能为力了,此时的this就不会再指向Thread对象了,就只能使用 Thread.currentThread();具体的原因是: 在执行sleep的过程中,会调用interrupt,大概率sleep的睡眠时间并没有到,就被唤醒了,然后被提前唤醒会做两件事。这个操作,这个括号里面填写的是时间,毫秒为单位!这个的操作就是获取当前线程实例,哪个线程调用,就获取哪个线程的实例(类似于this)多个线程的执行的顺序不是一定的,是随机调度,抢占式执行的。

2023-11-30 00:17:00 821

原创 Thread的其他属性与方法以及run和start的区别

在图中的第三个和第四个里面,有一个String name,这个是我们自己在创建线程的时候,默认是按照Thread-0 1 2 3 4…这种名字命名的,通过第三个和第四个我们是可以自己起线程的名字,为了方便调试,而且,名字可重复!这个是把代码设为后台进程,这行代码要写在t.start();这个的话它是创建了一个新的线程,由一个新的线程来执行某个条件,例如输出hello等等。就像图中一样,第二次调用start的时候,就会报错了,只会有一个线程在执行!前台的运行,会阻止线程的结束。

2023-11-29 23:00:25 361 1

原创 创建线程的五种写法

最后,要注意一点,在这个创建线程的方法中.除了第五种,前四种方法,都重写了run方法!

2023-11-29 22:11:12 499 1

原创 进程和线程有何区别与联系

关于线程和进程之间的问题

2023-11-28 16:15:10 1045

原创 表的增删查改之查

1.order by 是可以支持多个列依据排序的,但是是有优先级的,优先排序列名1,当列名1相同时,才会根据列名2来排序.这个就是查询成绩单中姓孙的人,但是后面名只能有一个(此处是一个_一个字符,要两个的话可以打两个下划线!1.这一种操作的危险性较大,公司的生产服务器上数据量大,用这个可能会挂!这个查询的就是在成绩单这个表中,筛选出语文和英语大于80.and是和的意思.这个查询的就是在成绩单这个表中,筛选出数学成绩是70,68,90,95的。1.注意where的后面这个列名是不可以为别名的!

2023-11-06 23:30:55 34

原创 数据库中表的增删查改之增删改

通过图中的1可以看到,我们的book有三个列名,在图里面的2中,我们选中了price,publish_date这两个列,所以我们在存数据时候就会往这里面存,不需要管author,他会自己默认为null.1.注意,在sql语言中,因为在早期语言在发展期,没有那么规范,所以在sql语言中,"="可能是赋值,也可能是相等,具体看代码,如update这个里面就是赋值.2.如图中,如果要对多个值进行修改,set后面要像第二行一样用"逗号,"隔开.(以上两行书写并不规范,仅是做例子使用如此书写)

2023-11-06 17:33:44 118

原创 数据库的定义及基本操作

utf8这个字符集还可以换成utf8 mb4这个字符集,因为早期的时候在MySQL上面的utf8是有缺失的,缺少了emoji表情,所以后面弄了一个utf8 mb4来修护,为MySQL专有的.",也被称为NOSQL,例如:Redis,MMonngoDB,HBase等等.,他们是以"键值对",或者"文档"的方式来组织的.4:SQLite,一个非常小的数据库,只有一个可执行文件,1m的大小,安卓手机的内置数据库就是它.",按照"表格"的形式来组织数据的,各个数据库之间的使用方法大同小异.

2023-10-29 15:55:10 22

原创 c语言三子棋的讲解

三子棋的讲解

2023-05-07 21:39:47 37

原创 关于三角形的代码说明

这是一个对三角形进行判定的代码

2023-04-09 17:26:28 248 1

空空如也

空空如也

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

TA关注的人

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