Java
有梦想有行动
生命的轨迹会沿着你期望的方向走去
展开
-
Java中final关键字的作用
Java中final关键字的作用1. 修饰变量对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。举个例子:上面的代码中,对变量i和obj的重新赋值都报错了。2. 修饰方法想禁止该方法在子类中被覆盖,用final。注:类的private方法会隐式地被指定为final方法3. 修饰类当用final修饰一个类时,表明这个类不能被继承。注:Java中的String类就是一个final类.原创 2021-09-09 09:24:41 · 341 阅读 · 0 评论 -
队列:Queue和Deque
1. Queue的接口分为两类,一类是抛出异常的,一类是不抛出异常的,每类都有三个操作,分别是队尾添加、队首删除并获取和队首获取,如下所示:2. Deque继承了Queue,除了继承了Queue的接口,又对每种方法额外添加了first与last方法用以实现操作双端队列。...原创 2021-08-18 11:22:56 · 166 阅读 · 0 评论 -
Socket是什么?
先说说什么是TCP/IP、UDP?TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。有图可知,TCP/IP协议族包括运输层、网络层、链路层。Socket在哪里呢?Socket是什么呢?Socket是应用层与TCP/IP协议族通信的中原创 2021-08-07 09:21:47 · 312 阅读 · 0 评论 -
arrays.aslist()的用途
“Arrays.asList的作用是将数组转化为list,一般是用于在初始化的时候,设置几个值进去,简化代码,省去add的部分。”避免如下第一种方法太啰嗦!!!HashSet<Character> hash = new HashSet<Character>(); hash.add('a'); hash.add('e'); hash.add('i'); hash.add('o'); hash.add('原创 2021-08-06 21:22:40 · 4926 阅读 · 0 评论 -
HttpServletRequest的介绍
http原创 2021-08-03 17:55:12 · 509 阅读 · 0 评论 -
2021我的小记录
进入数据库在CMD命令窗口敲入命令 mysql -hlocalhost -uroot -p 后按回车(注意这里的"-h"、"-u"、"-p"不能省略) 进入mysql数据库原创 2021-07-21 11:01:43 · 119 阅读 · 0 评论 -
java实现冒泡排序
public class Solution { public static void main(String[] args) { //冒泡排序算法 int[] numbers=new int[]{1,5,8,2,3,9,4}; //需进行length-1次冒泡 for(int i=0;i<numbers.length-1;i++) { for(int j=0;j<numbers.le.原创 2021-07-10 16:59:05 · 118 阅读 · 0 评论 -
二分法求平方根
二分法求平方根public class Solution1 { public float qart1(float N, float e) { float x = 0; float low = 0; float high = N; while (low < high){ float mid = (low + high)/2; if(mid * mid < N-e){原创 2021-07-10 15:39:47 · 358 阅读 · 0 评论 -
Java中的异或运算
1 . Java中的异或运算相同为0 不同为1原创 2021-07-07 17:11:06 · 157 阅读 · 0 评论 -
java中左移<<右移>>>
java中左移<<右移>>>public static strictfp void main(String[] args) { int num=5; System.out.println(Integer.toBinaryString(num)); num >>>= 1; System.out.println(Integer.toBinaryString(num)); num &g原创 2021-06-22 21:39:33 · 104 阅读 · 0 评论 -
剑指 Offer 56 - II. 数组中数字出现的次数 II
剑指 Offer 56 - II. 数组中数字出现的次数 II在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。最low写法:class Solution { public int singleNumber(int[] nums) { HashMap<Integer,Integer> map = new HashMap<>(); for(int i=0;i<nums.length;i原创 2021-06-22 21:02:34 · 85 阅读 · 0 评论 -
HashSet(使用方法详解)
HashSet(使用方法详解)1 . HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。2 . HashSet 允许有 null 值。3 . HashSet 是无序的,即不会记录插入的顺序。4 . HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。5 . HashSet 实现了 Set 接口。// 引入 HashSet 类 import java.ut原创 2021-05-22 08:45:43 · 2925 阅读 · 0 评论 -
Java中的private和final作用
目的是为了防止类中的数据成员,在类的定义之外被修改。也就说,private类型的数据成员只能在定义的时候修改,其余任何地方都不可以,该类的对象也不可以。作用1、private作为一种权限修饰符可以修饰类、属性和方法;2、用private修饰的类、属性、方法,只能自己使用,别的类是不能访问的,也就是说对于别的类来说是隐藏不可见的,private一般不修饰类,但是可以修饰内部类;...原创 2021-05-21 20:31:48 · 5390 阅读 · 0 评论 -
this关键字
一、this关键字主要有三个应用:(1)this调用本类中的属性,也就是类中的成员变量;(2)this调用本类中的其他方法;(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。应用一:引用成员变量Public Class Student { String name; //定义一个成员变量name private void SetName(String name) { //定义一个参数(局部变量)name this.name=name; //将局部变量的值传递给成员变量原创 2021-05-20 10:25:17 · 137 阅读 · 0 评论 -
关键字final 分别修饰类,方法,变量,各起什么作用?
关键字final 分别修饰类,方法,变量,各起什么作用?1 . final修饰类是不能被继承2 . fianl修饰方法不能在子类中被覆盖3 . final修饰变量,称为常量,初始化以后不能改变值。4 . final修饰的对象引用不可变,内容可变。...原创 2021-05-19 16:38:28 · 1341 阅读 · 0 评论 -
关于二叉树的计算题
1 . 高度为h的满二叉树,有(2^h)-1个结点;2 . 具有n个结点的完全二叉树的高度为(logn)向下取整+1;3 . 第k层至多有2^(k-1)个结点。原创 2021-05-18 11:22:13 · 371 阅读 · 0 评论 -
层次遍历Java代码
层次遍历public class Solution { public int[] levelPrint(TreeNode root){ if(root == null) { return new int[0]; } LinkedList<TreeNode> queue = new LinkedList<TreeNode>(); LinkedList<Integer&原创 2021-05-17 20:39:56 · 353 阅读 · 0 评论 -
任务与线程和进程的关系?
任务(task)任务是最抽象的,是一个一般性的术语,指由软件完成的一个活动。**一个任务既可以是一个进程,也可以是一个线程。**简而言之,它指的是一系列共同达到某一目的的操作。例如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一个线程(或作为一个中断任务)来实现。...原创 2021-05-14 15:40:53 · 680 阅读 · 0 评论 -
java的最大值或最小值表示
java中的:java.lang.Integer可以实现Integer.MAX_VALUEInteger.MIN_VALUE原创 2021-04-26 17:10:32 · 667 阅读 · 0 评论 -
一棵二叉树的创建过程
class TreeNode{ //树节点和链表中的节点不一样,因为树节点需要有左右节点 int val; TreeNode leftNode; TreeNode rightNode; public TreeNode(int val){ this.val = val; } //写两个节点的set方法 public void setLeftNode(TreeNode leftNode){ this.leftNode=lef原创 2021-04-25 20:38:06 · 137 阅读 · 0 评论 -
Iterator迭代器遍历(List,Set,Map都通用)
Iterator迭代器遍历(List,Set,Map都通用)Iterator<Student> is=l.iterator(); while(is.hasNext()){ Student s=is.next(); System.out.println(s.getName()+"\t"+s.getAge()); }Map更常用的是通过Map.entrySet遍历key和valuepublic static void main(String[] args) {原创 2021-04-25 09:19:41 · 246 阅读 · 0 评论 -
计算数组中可构成三角形的个数 方法:滑动窗口
getOrDefault() 方法获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值。原创 2021-04-20 11:56:49 · 706 阅读 · 1 评论 -
hashcode的作用
1、hashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的;2、如果两个对象相同,就是适用于equals(java.lang.Object) 方法,那么这两个对象的hashCode一定要相同;3、如果对象的equals方法被重写,那么对象的hashCode也尽量重写,并且产生hashCode使用的对象,一定要和equals方法中使用的一致,否则就会违反上面提到的第2点;4、两个对象的hashCode相同,并不一定原创 2021-04-19 21:35:28 · 3859 阅读 · 0 评论 -
spring注解
spring注解@Autowired//这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get。@Mapper注解的的作用为了把mapper这个DAO交給Spring管理;为了不再写mapper映射文件;自动为这个ImgDao接口生成一个实现类,让别的类进行引用。...原创 2021-04-06 16:48:12 · 68 阅读 · 0 评论 -
面试之哈希
什么是哈希?Map继承体系图原创 2021-03-27 21:20:49 · 89 阅读 · 0 评论 -
红黑树原理解析
红黑树原理解析红黑树的性质讲完了,只要这棵树满足以上性质,这棵树就是趋近与平衡状态的,不要问为什么,发明红黑树的科学家就是这么牛逼!一、 前面讲红黑树能自平衡,它靠的是什么?三种操作:左旋、右旋和变色。1.变色:黑变红或者红变黑2.左旋:上升的节点有两个分支,剪断一个原来的左分支,补到下沉节点的右分支上(看上去的那个的左子节点)3.右旋:上升的节点有两个分支,剪断一个原来的右分支,补到下沉节点的左分支上(看上去的那个的右子节点)二、红黑树查找(和二叉查找树一样)三、红黑树插入:(新节点必原创 2021-03-27 16:38:55 · 145 阅读 · 0 评论 -
Java开发面试之静态代理和动态代理
使用代理模式的作用1.功能增强:在你原有的功能上,增加了额外的功能。新增加的功能,叫做功能增强。2.控制访问:代理类不让你访问目标,例如商家不让用户访问厂家。实现代理的方式1.静态代理1)代理类是自己手工实现的,自己创建一个java类,表示代理类。2)同时你所要代理的目标类是确定的。特点1)实现简单2)容易理解缺点当你的项目中,目标类和代理类很多时候,有以下的缺点:1)当目标类增加了,目标类可能也需要成倍的增加。代理类数量过多。2)当你的接口中功能增加了,或者修改了,会影响众多的实原创 2021-03-23 19:08:07 · 288 阅读 · 0 评论 -
Java面试之设计模式
单例模式(Singleton Pattern):确保某一个类只有一个实例(也可无),而且自行实例化。note:单例类的构造函数必须为私有;同时单例类必须提供一个全局访问点。public class Test { private Test(){} private static Test uniqueInstance = new Test(); public static Test getInstance(){ return uniqueInstance;.原创 2021-03-23 16:06:31 · 104 阅读 · 1 评论 -
把一个合数分成质数的乘积
HashMap基于Map接口实现;是线程不安全的,多线程下建议使用ConcurrentHashMap;可以使用null作为key初始容量为16,填充因子默认是0.75扩容:capacity*2HashTable实现了Map接口和Dictionary抽象类;HashTable的实现方法里面都添加了synchronized关键字,是线程安全的,但性能低于HashMap;不允许null作为key初始容量为16,填充因子默认是0.75扩容:capacity*2+1...原创 2021-03-23 14:28:40 · 658 阅读 · 1 评论 -
compareTo我还是不会
Java中Arrays.sort(int[] a)的用法1、Arrays.sort(int[] a)这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。原创 2021-03-13 08:34:42 · 108 阅读 · 2 评论 -
java中的反射
java中的反射原创 2021-03-13 08:33:43 · 71 阅读 · 0 评论 -
剑指offer30.包含min的栈
class MinStack: def __init__(self): self.A, self.B = [], [] def push(self, x: int) -> None: self.A.append(x) if not self.B or self.B[-1] >= x: self.B.append(x) def pop(self) -> None: if sel原创 2021-03-08 19:18:22 · 51 阅读 · 0 评论 -
重写与重载
重载和覆盖是java多态性的不同表现方式一、覆盖(override):方法签名完全一样从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;原创 2021-03-06 21:31:51 · 310 阅读 · 0 评论 -
父类引用指向子类对象打底是什么?
父类引用指向子类对象指的是:例如父类Animal,子类Cat,Dog。其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类。Animal animal = new Cat();即声明的是父类,实际指向的是子类的一个对象。...原创 2021-03-06 21:17:38 · 84 阅读 · 0 评论 -
(x&1)== 1是什么意思?
(x&1)== 1是什么意思?判断x是否为奇数,相当于% 2 == 1这是基本的位运算,就是和1进行与运算,如果最后一位为1,结果就为1,最后一位为0,结果就为0.原创 2021-03-06 11:03:49 · 2636 阅读 · 0 评论 -
数位之和计算
数位之和计算设一数字 x ,向下取整除法符号 / ,求余符号 % ,则有:x %10:得到 x 的个位数字;x /10: 令 x 的十进制数向右移动一位,即删除个位数字。 int sums(int x) { int s = 0; while (x != 0) { s += x % 10; x = x / 10; } return原创 2021-03-04 10:39:31 · 1126 阅读 · 1 评论 -
Java获取二维数组行列长度
Java获取二维数组行列长度二维数组定义:int array[][]=new int[3][3];获取行长度 : int rowlength=array.length;获取列长度:int colength=array[0].length;原创 2021-03-03 21:59:45 · 1797 阅读 · 1 评论 -
Map<String, Object> paramMap = new HashMap<String, Object>();含义解释
Map<String, Object> paramMap = new HashMap<String, Object>();1:你首先要明白Map是什么意思 Map得意思就是Key value对应得就比如以下:Map<1,“我”>你只要得到Map里面得1 他对应得值就是 我2:意思是你的Map对象的键是String类型的,而值因为被定义为最上层的java对象Object对象,而所有的下级对象都隶属于Object对象,所以可以传任何类型的值在里面,比如,你可以这样:原创 2021-03-02 16:38:58 · 1712 阅读 · 0 评论 -
Java集合类学习
原创 2021-03-01 09:27:45 · 62 阅读 · 0 评论 -
Java中的List、Set、Map
List按对象进入的顺序保存对象,不做排序或编辑操作。Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序–否则应该使用List)。Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置的排序,因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用 LinkedHashSet或者LinkedHashMap.List的功能方法实际上有两种List: 一种是基本的ArrayList,其优点在于随机访问元素,另一种是更强大的Linke原创 2021-02-28 15:16:47 · 83 阅读 · 0 评论