自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mac终端出现:Could not set environment: 150: Operation not permitted while System Integrity Protection is

mac终端出现:Could not set environment: 150: Operation not permitted while System Integrity Protection is engaged,这个错误是因为在macOS系统中,System Integrity Protection (SIP) 被启用了。只要把sip关了就行了,m系列芯片先关机,再一直按住开机键进入恢复模式,在最上方有个地方可以进入终端,输入:csrutil disable 就可以关闭sip了。

2024-04-16 21:56:26 1562 1

原创 myslq group by 分组和having条件过滤

首先:有一个employees表,长这样。

2023-06-09 10:41:45 280

原创 mysql中,char与varchar的区别

就是你size指定的大小是多少,无论你实际存放了多少个字符,系统都会分配size*编码格式的单个字符所占的最大字节数,解释:比如size设置为10,编码格式是utf8,实际存放了1个字符,那么所占的空间和你存放的实际字符个数无关,所占的字节数是10*3,这个3就是utf8编码下,汉字是单个字符中所占字节数最大的,占3个字节,所以就是10*3 = 30个字节;比如编码是utf8,那么实际可以指定的长度是65532(2^16 -1 -3)/3 = 21844。

2023-06-07 18:01:12 181

原创 通过反射修改私有属性和调用私有方法

因为static的属性和方法不属于对象而是属于类的,当然,传入一个对象也是可以的,因为用对象也是可以访问static属性和static方法的。在method.invoke(obj,实参列表)这里,obj也可以是null。field.set(o,修改值)这里,o可以是null。如果属性和方法是static的,那在。

2023-06-04 15:46:37 428

原创 通过反射机制创建对象

爆破,爆破就是能够使用非public的构造器来创建实例。

2023-06-04 15:08:20 75

原创 java配置文件properties

load的作用是加载配置文件,传入一个输入流对象是将指定路径下面的配置文件读取到properties对象,这样就可以通过properties对象获取到配置文件中的键值对信息。配置文件的作用在于:通过修改配置文件来修改应用程序,而不必修改源代码,提高代码的可扩展性。注意:指定配置文件路径可以是src下面的路径,也可以是磁盘其他路径,还可以是网络等。java配置文件已文件名.properties命名,配置文件里面存放的是键值对。

2023-06-03 09:15:51 139

原创 TCP网络编程入门

1.如果是以字符流来写入文件到网络通道,在写入完成后需要手动刷新流,用flush() ,并且在写入完毕后需要明示写入已经完成,不然陈序会阻塞,如果是字符流,并且是Buffered,可以用newLine()表示写入已经完成,如果不是的话可以用socket.shudownOutputStream()来明示。2.全部操作结束记得close流和socket,如果不关闭socket,则其他主机无法接入到该接口。

2023-05-28 17:07:02 49

原创 javaUDP网络传输入门

需要注意的是,UDP网络通信没有客户端和服务端的区别,每个端都既是发送端又是接收端。

2023-05-28 15:38:00 42

原创 转换流InputStreaReader和OutputStreaWriter的作用解析

如果是用InputStream的read方法,一次就只能读取一个字节,如果是英文,倒没什么影响,因为英文只占1个字节,但是如果是中文的话,占3个字节,read方法并不会将这3个字节合起来解析为一个中文,而是将他们分开解析,那就会造成乱码。OutputStreamWriter也是一样的道理,传入的是一个OutputStream的对象,也可以指定编码格式,使用writer方法时,可以按照指定的编码写入一个字符串,实际干活的还是传入的OutputStream字节流对象。

2023-05-26 21:34:39 159

原创 java write方法写入文件的方式

1.创建一个OutPutStream对象,把文件地址传入,如果该文件不存在,则将该文件新建再写入,传入的true表示是进行追加,不加true每次写入文件会把原文件覆盖。3.可以在后面设置写入的字符串的起始位置和写入长度,如图就是总字符串(本质是byte数组)的下标为0的元素开始写入,写入5个(注意长度不能超出范围)(3)传入一个字符串,如图,实际还是传入一个byte数组,因为要将String转换成byte数组再传入。(1)传入一个char,或者int(二者可以相互转换)2.调用write方法。

2023-05-22 19:16:09 1000

原创 用java打开文件

2.Desktop.getDesktop方法得到一个Desktop对象(Desktop构造器是私有的,不能直接new)3.用Desktop里的open方法就可以打开对应文件。1.创建一个File对象,将文件地址传入。注意:确保你的电脑有能打开该类型文件的软件。

2023-05-22 13:19:24 366

原创 java线程死锁

A线程获取到o1锁,B线程获取到o2锁,A线程要继续执行需要获取o2锁,但o2锁正被B线程持有,B线程要想继续往下执行需要获取到o1锁,但是o1锁正被A线程持有,这样两个线程就会僵持不下,就造成了死锁。将A线程的flag设置为true,则进入if语句,将B的flag设置为false,则进入else语句,一直这样僵持,不会结束。

2023-05-18 16:38:45 39

原创 synchronized线程同步基本介绍

synchronized线程同步基本介绍

2023-05-17 21:29:01 67

原创 java守护线程

守护线程简介

2023-05-16 20:26:25 72

原创 C++继承创建对象的方法辨析

用new的方式得到的是指向T对象的一个指针,所以用*t指针来接收。也可以用父类来接收,仍然,这样子接收就不能调用子类特有的方法。TT来接收,但是这样子接收了就不能访问到子类特有的方法。调用方法是要用 ‘ ->’ 来调用。有一个类T继承了TT。

2023-05-16 17:00:53 54

原创 java实现扫雷游戏(简单版)

用两个一模一样的数组,这样下标就可以对应,玩家输入map上的坐标,同时也对应mineMap上的坐标,就可以判断这个位置有没有雷。第二个数组是mineMap,用来装地雷,随机给他赋ROW(行数)个雷,“0”表示非雷,“1”表示雷。利用两个String的二维数组,一个是map,用来制作地图,用*表示被隐藏。因为你既要用*来表示地图,又要装地雷,一个数组是搞不定的。第0行和第0列是坐标。为什么要用两个数组?

2023-05-12 14:10:37 179

原创 java泛型通配符

通配符有三种:第一种: 问号(?),表示所有类型第二种:extends + 类名 ,表示该类及继承了该类的类型第三种:super + 类名, 表示该类和该类的父类。

2023-05-11 13:37:04 746

原创 自定义泛型方法

泛型优先局部,在全局:比如说我在类定义了E,R两个泛型,又在方法show上定义了E,R两个泛型,则在show方法中优先使用自己方法上定义的泛型。定义形式如下:方法中定义了泛型,一般都会在形参用到定义的泛型。自定义泛型方法可以在普通类里面,也可以在泛型类里面。

2023-05-11 09:20:02 78

原创 java默认方法

jdk8引入接口默认方法的目的是:解决以前当给一个接口添加一个新方法时,所有实现了该接口的类必须要重写这个新方法,而default方法(默认方法)的引入就可以在方法前加default关键字,这样实现了该接口的类就不必重写该方法,需要用到该新方法的类才重写这个方法。注意:default方法必须要有方法体。

2023-05-10 18:42:19 39

原创 java泛型

3.泛型属性不能在类中直接new,因为你不确定是什么类型,如果是自定义类类型,那构造器应该传入的数据是不确定的,所以无法直接new一个泛型对象。解释:定义了一个AA类,用T来表示一个不确定的类(接口)类型,类中的属性或者方法可以使用这个泛型,在new AA对象时再来给T确定一个类型。4.static方法不能使用泛型作为返回类型或者作为形参,因为static方法是与类相关的,而泛型是在创建对象时才确定的。就是在定义类或者接口时,用表示类型,在new一个对象时才指定一个具体的类型。

2023-05-10 15:43:47 22

原创 HashSet(Map)和TreeSet(Map)的去重机制

HashSet(Map)和TreeSet(Map)的去重机制分析

2023-05-08 13:26:56 144

原创 List、Set、Map的适用场景辨析

List接口下面有ArrayList、Vctor、LinkedListSet接口下面有HashSet、TreeSet、LinkedHashSetMap接口下面有HashMap、TreeMap、LinkedHashMap。

2023-05-08 11:14:14 394

原创 HashSet(HashMap)的扩容机制及红黑树简略梳理

2.在table表的数据量已经等于负载值(当前容量*负载系数),则会将table表扩容至当前容量的2倍,负载系数负载值也变为原负载值的两倍,如:初始容量为16,负载系数为0.75,那么负载值就是16*0.75 = 12,当添加完第12个元素后,就会立马进行扩容,容量扩容为32,负载值也变成24,以此类推;下次添加数据,如果又添加到了这条链表,就会将table表扩容至64,再次添加数据,如果又添加到了这条链表后面,或者其他链表使某条链表达到8个元素,就会将这条链表转成红黑树。

2023-05-06 14:57:00 758

原创 HashSet和HashMap内部结构分析

首先明确一点:HashSet的底层就是HashMapHashSet与HashMap的不同点:HashMap存储的是键值对(也就是key-value),即在调用HashMap的put方法时传入的两个值,而HashSet其实也是存储的键值对,但是键值对的value是一个默认值(PRESENT,一个Object的对象)HashSet的方法也只能将key取出,不能取出value,而HashMap就有方法能将value也取出既然说HashSet的底层是HashMap,那来看看源码:来看看HashSet的add方法源码

2023-05-06 14:16:59 693

原创 ArrayList集合扩容机制入门

ArrayList有参构造和无参构造的源码分析以及ArrayList集合的扩容源码分析

2023-05-02 12:41:07 546

原创 List集合的三种循环方式

【代码】List集合的三种循环方式。

2023-05-01 15:02:08 1253

原创 ArrayList ConcurrentModificationException异常

ArrayList ConcurrentModificationException异常

2023-05-01 12:59:40 64

原创 next(), nextLine(),nextInt()报错分析

辨析next,nextLine之间的区别,以及由next和nextLine和nextInt等造成的异常

2023-04-30 10:48:52 1372

原创 LocalDateTime以及DateTimeFormatter使用入门

第三代日期LocalDateFormatter的使用以及DateTimeFormatter格式化时间的使用及其规则

2023-04-30 09:23:31 183

原创 Instant时间戳

Instant的对象的创建方法,Instant时间转换成北京时间的方法,Instant与Date之间的相互转换方法

2023-04-30 08:49:01 213

原创 Calendar类

Calendar类没有public 构造器,所以不能直接new一个Calendar对象,而是要通过Calendar类中的一个public 的方法getInstance来获取一个对象。Calendar相较于Date和SimpleDateFormat来说是时间格式自由的更高,可以根据需求输出。YEAR,MONTH,DATE.....这些都是Calendar类中的final常量。得到calendar对象之后,通过调用get方法来并传入参数,来获取时间。引包:java.util.Calendar。

2023-04-29 21:17:26 24

原创 SimpleDateFormat以及Date的使用

获取当前的时间就会以这样的格式输出那我们不想要这样的格式,而是输出格式怎么办呢?

2023-04-29 16:44:42 1155

原创 BigInteger和BigDecimal

当一个整数很大,大到long都无法保存,就可以使用BigInteger这个类使用方法:new如果要对bigInteger使用加减乘除,不能直接使用+ - * / ,而是要使用相应的方法+ : add()传入的值也是一个BigInteger对象。

2023-04-29 10:51:07 1020

原创 String与StringBuffer或者StringBuilder

【代码】String与StringBuffer或者StringBuilder。

2023-04-28 19:22:12 20

原创 StringBuffer练习题之价格添逗号

示例:字符串价格 12345.88 -----> 12,345.88。题目要求:将一个字符串的价格每三位之间添加一个逗号,并输出。代码实现:注意要考虑价格字符串中没有小数点的情况。

2023-04-27 19:57:39 87

原创 StringBuffer相关习题1

第一题:进入append方法源码,可知,如果append传入的是一个空指针,则append会将“null”这个字符串返回。第二题:进入StringBuffer的构造器可知,str.length()会出现空指针异常。

2023-04-27 19:34:27 32

原创 C++虚基类构造函数和析构函数调用顺序

1.构造函数调用顺序:先调用虚基类(Base)--> Base1/Base2(顺序取决于在声明Derived类时继承Base1和Base2的顺序),如果Base1在前,则先调用Base1的构造函数,再调用Base2的构造函数;最后调用Derived的构造函数。2.如果Derived类中有对象成员,则先调用虚基类(Base)--> Base1/Base2-->对象成员的构造函数--> Derived的构造函数。3.如果在同一层次中,则先调用虚基类的构造函数,再调用基类的构造函数。

2023-04-25 21:27:39 721

原创 c++ 虚基类(好理解)

当创建一个Derived对象时,先调用Base的构造器,此时a = a + 1,那就是11,再调用 Base1的构造器 a = a + 10, 此时a = 21, 再调用Base2的构造器, a = a + 20, 此时a = 41,所以Derived类中继承下来的a 就是41。如果Base类有一个public的 int a ,在Derived里面要访问这个a,就必须指定是哪个类的a(Base1或者Base2),那就得用作用域符::来指定。此时Derived类继承的a就只有一个,那这一个a是哪一个呢?

2023-04-25 21:06:11 389

原创 day 4.24 String 问题内存分析

执行到ch[0] = 'p' 时,因为change中的ch也指向“java”,所以“java”就变成了“pava”,因此egg对象中的ch也变成了“pava”;每调用一个函数,就会在栈区中创建一个该函数的区,调用change函数,则在栈区中创建了一个change区,这个change区中有传入的str对象,字符数组ch。当执行到str = ”haha“时,会在常量池中创建haha,change中的str指向常量池中的haha,main函数中的str对象的指向并不会改变。

2023-04-25 07:13:14 30

原创 day 4.24 String 相加相关问题习题

此时在常量池中只有一个对象,即”jacksmith“, name1 指向的是 常量池中的”jacksmith“对象。name1 先指向常量池中的“jack”,再在常量池中创建一个“smith”对象,name1再指向“smith”此时name3 指向的是堆中的一个对象,堆中的value数组指向常量池中的“jacksmith”字符串对象。并不是将jack修改为smith。

2023-04-24 09:19:27 32

空空如也

java算法:分类相关问题

2023-07-03

java网络编程相关问题

2023-05-31

javaIO流相关问题

2023-05-23

关于#java#的问题:java算法题

2023-05-06

javaHashMap红黑树条件问题

2023-05-06

java匿名内部类相关问题

2023-05-06

HashMap键值对类型

2023-05-05

HashSet与LinkedList的区别?

2023-05-05

javaHashSet存储顺序问题

2023-05-04

javaArrayList的扩容机制问题

2023-05-01

javaString存储方式

2023-05-01

关于#java#的问题:为什么向下转型不能直接调用方法

2023-04-29

java字符串创建关于hashcode的问题

2023-04-23

为什么在一个类的方法里面给一个string赋值为整型却不报错,如果输出的话没有东西输出这是编译器得bug吗

2023-04-23

自动装箱为什么要分两个部分来操作

2023-04-23

关于#java自定义异常类#的问题,如何解决?

2023-04-22

关于#java#的问题:会一直输出again,不会在scanner处停止让我输入一个值

2023-04-21

用const修饰对象报错

2023-04-17

为什么new一个内部类失败(语言-java)

2023-04-14

java为什么成员内部类B中的private变量b能在类外被访问

2023-04-14

将成员函数作为友元函数只能在类外定义吗

2023-04-14

java interface 与 继承

2023-04-09

为什么公共的属性和方法在同一个包下面还不能访问了呢

2023-04-08

java静态方法是在什么时候加载呢

2023-04-08

c++ 为什么第一个不需要const 修饰而第二个必须要const 修饰呢

2023-04-07

java静态方法与静态变量

2023-04-05

关于#c++#的问题,如何解决?

2023-04-04

java如何实现给函数传入一个变量,并能且能改变这个变量的值

2023-04-04

java var快捷方式

2023-04-01

为什么只有第一个是true 后面两个都是false

2023-04-01

在java中数字也算是一个类吗

2023-04-01

关于#c++拷贝构造函数#的问题:这里returnA 这个函数返回是就已经调用了拷贝构造函数,那我再将aa这个对象赋值给bb,应该还要再调用拷贝构造函数,但是我输出bb.a还是2

2023-03-29

论程序员的未来前景,前端后端

2023-03-23

如何在java中,定义一个变量 int a?

2023-03-20

关于#java#的问题:java中变量名有地址吗

2023-03-20

关于#java#的问题:专业网络工程,对网络没什么兴趣,我是应该转专业到计算机科学与技术或者软件工程,到是都属于计算机专业,但是我怕后面网络方面的知识任务太多占用太多时间,编程的时间就被挤压了

2023-03-16

c++ cin.read

2023-03-11

c++ cout怎么输出空格

2023-03-10

bool 类型的数据有什么用呢,如果是用于函数返回值来进行条件判断,那和return 1,return 0

2023-03-10

string arr 和char arr[]

2023-03-08

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

TA关注的人

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