- 博客(26)
- 收藏
- 关注
原创 java-JVM
在对象中其年龄用4个比特位保存,多以最大为1111即是十进制15,可以设置次数,但是最大值为15次。老年代和新生代比例 2:1伊甸园和两个幸存者区的比例8:1:1解释执行:是用一个解释器对代码逐行进行解释执行,一帮常见的脚本语言是解释执行 效率低,省去了编译时间编译执行:是将某一段代码进行整体的编译,执行编译后的结果 效率高,需要编译时间。Java的执行引擎采用的是半解释半编译的方式,将字节码转换为机器码。程序刚开始运行时,立即采用逐行解释执行。
2024-07-18 22:53:09
722
原创 Leetcode存在重复元素问题
时间复杂度分析:数组的统计为O(n)哈希的插入为O(1)故统计的总复杂度为O(n),map的遍历为O(n),而哈希的查找为O(1)故该方法总计时间复杂度应为O(2n)忽略常数即为O(n);维护一个大小的k的窗口,当在窗口添加元素时若set中已存在则返回true,若不存在的添加元素并且判断set的大小,当其大于k时,移除窗口最左侧的元素;对数据进行排序相同的元素必定相邻,只需要循环判断即可,时间复杂度分析,排序O(n log n),for循环O(n)故总体复杂度应为O(n log n);
2024-04-21 16:40:52
153
原创 java中复制数组的四种方法
它直接在底层数组中进行复制,而不需要创建新的对象。其源码由native 修饰可知其实现方法为调用本地方法实现。故其效率应该较高。
2024-04-01 20:39:04
395
1
原创 mybatis #{}和${}获取参数的区别
{}也用来获取参数,并且是以预编译的方式来传值,更加的安全通过这种方式获取参数类似于jdbc中的?占位符再用setObject方法给占位符赋值一样。
2023-11-02 22:52:37
100
原创 web--html(1)
选择web(网页)为后端提供操作界面随着网速的提升,浏览器访问网页,网页访问后端这种模式越来越流行Browser(浏览器)+server(客户端)C/S结构。
2023-09-07 22:39:08
106
原创 数据结构 数组
数组中的内存如何分配:分配的空间是连续的,因此在创建数组是要指定数组的大小,数组一经创建,就不能修改大小。上面的示例下表最大是九,假如数组的下标出现负数或者大于等于长度则会出现下标越界异常。数组的下标是从0开始,到数组中元素的个数-1(数组长度-1)首先声明数组类型[ ] 数组名称=new 数组名称[ ]数组名[下标] 例如:nums[10] ,nums[6]例如 int[] nums=new int[10]常见的数组: 字符串,哈希表,对象数组。数组的优点:快速查询(随机访问)通过数组的下标(索引)
2023-07-15 20:35:46
132
1
原创 Java线程
synchronized有两种使用方法,一种是给代码块加锁,另一种是给方法加锁;解决线程安全的办法就是给共享资源加锁,使同时只能有一个线程进入到共享资源中;通过创建ReentrantLock对象不能给对象加锁。wait()是让线程进入阻塞状态,不会自己“苏醒”,是Oject中的方法,通过Oject进行调用。需要其他线程通过notify()方法唤醒,sleep()是让线程阻塞指定时间,到达指定时间都会自己进入就绪状态,同步锁必须是两个线程的共同对象,不会释放锁,其他线程无法进入。会释放锁,让其他线程进入。
2023-07-02 20:58:43
92
1
原创 matlab 入门(三)线性代数
Expm: 以e为底对矩阵求指数,并不是对每个元素求指数,对每个元素求指数的指令是exp。MATLAB中计算点积和差积的函数分别为dot和cross,在MATLAB中,用“A^n”来计算矩阵A的n次方,norm(X)、norm(X,2):计算X的2范数;(对角元素的值非负,且按降序排列),U与V为正交阵。(sqrtm(A)求的是满足X*X=A的矩阵X。normest(X):只能计算X的2范数,并且是。2范数的估计值,适用于计算norm(X)比较费。norm(X,inf):计算X的无穷范数;
2023-06-07 20:49:40
1234
原创 JAVA 接口与抽象类的异同
没有方法体的方法即是抽象方法;抽象方法必须用关键字abstract修饰;接口,简称API;接口可以看做是一种更加抽象的类;
2023-05-18 17:26:42
33
原创 JAVA基本类包装类
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类。例如想知道一个数的二进制,八进制,十六进制值时,整数类提供的方法可以大大提高了我们的效率。
2023-05-17 20:13:31
72
原创 JAVA 重写toString() 方法
1是什么toString() 方法toString(); 当输出一个对象时,会默认调用类中的toString()方法。当类中如果没有toString(),那么就会调用父类Object中的toString()。打开Object类中toString的源代码发现其返回值是类名+“@”+public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode());}即toString
2023-05-12 19:40:57
1634
原创 面向对象语言的三大特征(封装,继承,多态)
继承:继承是面向对象程序设计不可缺少的设计思想,是实现代码可重用的根基,是提高代码可扩展性的主要途径。继承是从已有的类中派生出新的类,新的类能吸收已有类的属性和行为,并能扩展新的能力。在JAVA中使用extends关键字来表示继承关系。JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一个直接父类。继承之后子类可以调用父类的所有非私有属性和非私有方法。
2023-05-04 19:59:11
82
原创 JAVA 方法 return语句
Java的方法类似于其它语言的函数,方法是解决一类问题的步骤的有序组合,方法包含于类或对象中. • 方法在程序中被创建,声明格式:[访问权限修饰符 修饰符…] [返回值类型] 方法名(形式参数类型 参数名){Java语句;… … …[return 返回值;• 修饰符:这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。• 形式参数: 在方法被调用时用于接收外界输入的数据。• 实参:调用方法时实际传给方法的数据。• 返回值:方法在执行完毕后返还给调用它的环境的数据。
2023-04-20 22:31:07
513
原创 JAVA 控制台输入 控制语句 if条件结构 switch for break&continue 循环嵌套
● 使用标准输入串System.in 使用Scanner取得一个字符串或一组数字 在新增一个Scanner对象时需要一个System.in对象,因为实际上还是 System.in在取得用户输入。● Scanner的next()方法用以 取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;● 同样,nextFloat()转换成浮点型;nextBoolean()转 换成布尔型。
2023-04-20 22:25:28
259
原创 JAVA 基本数据类型的转换
●默认转换:整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:容量小的类型默认转换为容量大的数据类型;● long整型数,在内存中占用8个字节共64位,它表示的数值有2的64次方,平。● 在内存中占用的是4个字节的空间,而long型占用的是8个字节的空间。● 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造。● 也就是说,浮点数在内存中的二进制值不是直接转换为十进制数值的,而是。浮点数的32位不是简单的直接表示大小,而是按照一定的标准分配的。成精 度降低或溢出;
2023-04-20 22:09:33
58
原创 JAVA 使用二维数组,实现五子棋功能.
static String line = "十";System . out . println("请黑子下棋");//行数 y = scanner . nextInt() - 1;//列数 boolean res = hefa(x , y);dayin();if(win) {System . out . println("黑棋胜");break;
2023-04-17 21:48:17
371
原创 JAVA 运算符
● Java 语言支持如下运算符:● 算术运算符: +,-,,/,%,++,–● 字符串连接运算符:+● 关系(比较)运算符: >,<,>=,<=,==,!● 逻辑运算符:!● 赋值运算符: =,+ =,- =,=,/ =● 条件运算符● 位运算符。
2023-04-16 21:42:21
72
1
原创 JAVA 变量,数据类型
● 变量是程序中最基本的存储单元,程序执行中数值是可变的. ● 本质上,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个 变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用. ● 变量是通过使用变量名来访问这块区域的. ● 其要素包括变量名,变量类型。● Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为:[修饰符] type varName [=value][,varName[=value]……];
2023-04-16 15:26:58
91
1
原创 JAVASE 基础语法 (IDE 注释,关键字,保留字,标识符)
标识符: Java 对各种变量、方法和类等要素命名时使用的字符序列称。由26个英文字母大小写,0-9 ,_或 $ 组成 数字不可以开头。注意:在起名字时,为了提高阅读性,要尽量有意义, “见名知意”。变量名、方法名:多单词组成时,第一个单词首字母小写,第二 个。常量名:所有字母都大写。包名:多单词组成时所有字母都小写:xxxyyyzzz。不可以使用关键字和保留字,但能包含关键字和保留字。版本尚未使用,但以后版本可能会作为关 键字使用。单词开始每个单词首字母大写:xxxYyyZzz。
2023-04-16 14:33:25
163
1
原创 JAVA语言学习 JAVA概述
java是一门高级编程语言,主要用来开发发后端程序(软件后台)安卓APP软件工具大数据领域工作就业机会多语言本身性能非常不错。•在年时候,(詹姆斯•高斯林)所在的工程师小组,需要设计一种小型计算机语言,该语言主要用于像电视机顶盒,家用电器等这样的消所以要求:语言必须非常小且能够生成非常紧凑的代码,这样才能在这样的环境中执行,另外,由于不同的厂商选择不同的CPU,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是。
2023-04-13 16:24:33
113
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人