- 博客(28)
- 收藏
- 关注
原创 2022-1-25 阿里云JAVA实习面试
电话面试,挂掉了,失利点:1、自我介绍过于紧张,说话磕巴,没有提前想好介绍内容导致介绍速度过快,不流畅。2、基本功不扎实,面试问题许多不会面试问题点:1、双亲委派机制2、进程间的通信方式3、红黑树的基本实现和特点4、进程的状态和变化原因5、Maven常用指令...
2022-01-25 14:37:02 346
原创 实习日志 2021/12/8 学习Linux操作系统
Linux一般用来做服务器端,与Windows主要区别是:Linux没有盘符,只有一个根目录;Linux命令的格式:command -option parameter其中command是命令,parameter是命令执行的对象,option是用来改变parameter的。主要命令有:pwd:显示当前目录ls:目录下的所有文件(蓝色的为文件夹,白色的为文件)ls -l:以表的形式显示目录ls -a:显示隐藏文件 注:在ubuntu中,给文件命名时在开头加.就会变成隐藏文件ls -l
2021-12-08 17:56:00 924
原创 实习日志12.01:用Java连接数据库代码总结
第一步:在java下新建一个lib目录,将MySQL驱动包拷贝到项目中并添加依赖第二步:连接数据库并操作。//1、加载注册驱动Class.forName("com.mysql.cj.jdbc.Diver");//2、通过DriverManager获取连接对象public static Connection getConnection(String url,String user,String password);//举例:Connection conn=DriverManager.ge
2021-12-01 17:59:58 991
原创 实习日志11.30
今日学习:MySQL Workbench软件使用Charles爬虫软件使用sql数据库语句学习Python后端代码解析SQL语句分为ddl语句与dml语句。dml语句为修改数据库内数据使用语句,ddl语句为修改数据库本身结构语句。ddl语句有:CREATE DATABASE;DROP TABLE;ALTER DATABASE;CTRATE TABEL;CREATE INDEX;DROP INDEX;dml语句有:INSERT INTO;SELECT;UPDAT
2021-12-01 09:31:26 1133
原创 Python踩坑日记1
今日编写程序时,发现创建类后反馈不接受参数,代码如下:import randomclass Die: def __init__(self,sides=6): self.sides=sides def roll_die(self): print(random.randint(1,self.sides))my_die=Die(60)for i in range(0,10): my_die.roll_die()后来百度发现,原因是创建类构造
2021-11-17 22:29:12 583
原创 Python学习笔记1
Python中单双引号括起来的都表示字符串;F字符串:f是format的缩写,在Python中把花括号内的变量替换为其值来设置字符串的格式;在Python中,两个数相除结果总是浮点数,即便这两个数都是整数且能整除;在列表中,通过对索引值取负值,来获得倒数第N个元素。Python根据缩进判断判断代码行与前一个代码行的关系。Python中用两个星号(**)表示乘方运算。在复制列表时,如果需要创建一个副本,最好方法是使用切片[:],如果直接a=b,只会为原有的列表增加一个新的关联,而不会创
2021-11-16 21:55:54 322
原创 计算机网络知识 概述
原网页:JavaGuide基本术语:结点:计算机、集线器、交换机或路由器等。链路:从一个结点到另一个结点的一段物理线路。中间没有任何其他交点。主机:连接在因特网上的计算机。ISP:因特网服务提供者(提供商)。IXP:互联网交换点IXP的主要作用就是允许两个网络直接相连并交换分组,而不需要第三个网络来转发分组。RFC:意思是“请求评议”,包含了关于Internet几乎所有的重要文字资料。广域网WAN:任务是通过长距离运送主机发送的数据。城域网MAN:用来将多个局域网进行互连。局域网LA
2021-11-11 13:08:03 348
原创 操作系统 常见问题
什么是Lambda?Lambda是Java8添加到新特性,说白了,就是一个匿名函数。为什么要使用Lambda?使用Lambda表达式可以对一个接口进行非常简洁的实现。
2021-11-10 21:34:28 719
原创 Java内存区域 JVM
原网页:JavaGuideJVM在执行Java程序过程中会把它管理的内存划分成若干个不同的数据区域。JDK1.8和之前的版本略有不同,下面会介绍到。JDK1.8之前:JDK1.8之后:这其中线程私有的:虚拟机栈;程序计数器;本地方法栈;线程共享的:堆;方法区;直接内存(非运行时数据区的一部分)程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码...
2021-10-29 15:54:54 121
原创 Java并发面试知识点
来源网页:JavaGuide何为进程和线程:进程是一个程序运行的基本单位,系统运行一个程序就是一个进程从创建、运行到消亡的过程。线程是比进程更小的执行单位。线程之间共享堆和方法区,但是有自己的程序计数器、虚拟机栈和本地方法栈。两者区别:一个进程中可以有多个线程。多个线程共享进程的堆和方法区,但是每个线程有自己的程序计数器、虚拟机栈和本地方法栈。总结:线程是进程的更小的运行单位。线程和进程最大的不同在于基本上各进程是独立的,而各线程不一定,因为同一进程中有的线程极有可能会相互影响。线程执行开销小,
2021-10-28 22:17:52 72
原创 Java中异常
Java中所有异常有一个共同父类:java.lang中的Throwable类。Throwable类有两个重要子类:Error和Exception类其中,Exception类可被try-catch处理,Error类不可以被处理,只能尽量避免;Exception又可分为受检查异常(必须处理)和不受检查异常(可以不处理)。try-catch-finallytry块:用于捕获异常。其后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块。 catch块:...
2021-10-23 19:01:04 85
原创 力扣22 括号生成 回溯 DFS
DFS与BFS:DFS(深度优先搜索)与BFS(广度优先搜索)BFS(广度优先搜索):主要思想是从起始点开始,将其邻近的所有顶点都加到一个队列(FIFO)中去,然后标记下这些顶点离起始顶点的距离为1.最后将起始顶点标记为已访问,今后就不会再访问。然后再从队列中取出最先进队的顶点A,也取出其周边邻近节点,加入队列末尾,将这些顶点的距离相对A再加1,最后离开这个顶点A。依次下去,直到队列为空为止。DFS(深度优先遍历):主要思路是从图中一个未访问的顶点 V 开始,沿着一条路一直走到底,然后从这条路尽
2021-10-12 17:03:27 152
原创 力扣 17 电话号码字母组合 回溯算法 字符串常用函数
回溯算法概括:回溯算法是一种纯暴力搜索法,一般应用于:组合问题切割问题子集问题排列问题棋盘问题模板:void backtracking(参数){ if(终止条件){ 收集结果; return;}for(集合元素){ 处理节点; 递归函数; 回溯操作; } return;}字符串常用函数:String str="...
2021-10-11 15:34:32 96
原创 力扣461 汉明距离 位运算
Java中返回整数二进制后的1的数量:int i=Integer.bitCount(x);Java中进制转换函数:static String toBinaryString(int i), 以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。 static String toHexString(int i), 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。 static String toOctalString(int i),以八进制(基数 8)无
2021-10-02 21:22:01 66
原创 力扣383 比特位计数 位计算
Java中数组,集合的相互转换:Set转化成List:Set<Character> nums=new Hashset<Character>;List<Character> list=new ArrayList<Character>(nums);List转化为Set:Set<Integer> nums=new HashSet<Integer>(list);数组转化为List:List<Integer&
2021-10-02 18:43:44 75
原创 Java并发学习笔记
源网页:JavaGuide进程与线程进程就是程序的一次执行过程,程序运行的基本单位。Java中Main函数启动的就是一个JVM虚拟机的进程,而main函数所在的就是进程中的一个线程,这个线程叫主线程。线程与进程相似,是进程的更小的执行单位。一个进程在执行过程中可以产生多个线程。与进程不同的是,同类的多个进程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程,或者在各个线程之间切换工作时,负担要比进程小得多,也因为如此,线程被称为轻量级进程。请
2021-10-02 15:29:33 54
原创 力扣136 只出现一次的数字 位运算 力扣141 链表总结
异或运算符:^异或运算符的特点:1、满足交换律 a^b=b^a;2、满足结合律 a^b^c=a^c^b;3、任何数和零做异或运算,都得自身:a^0=a;4、任何数和自己做异或得零:a^a=0;常见链表处理方法总结:链表中插入新节点步骤:结点 p 之后增加一个结点 q 需要三步:申请一段内存用以存储 q (可以使用内存池避免频繁申请和销毁内存)。 将 p 的指针域数据复制到 q 的指针域。 更新 p 的指针域为 q 的地址Node q=new Node(q);q.nex
2021-09-29 16:52:11 85
原创 力扣11 盛最多的水 双指针
这题主要是解题思路:状态空间缩减法水容器两边中,从长边往里缩,容器的容积一定会变小;从短边往里缩,容器体积可能增大可能减小;因此一直从短边往里缩,遍历一次后,一定能找出最大体积。另外,各种数据结构获取长度方法汇总:字符串:length();String s=new String("Hello World!");int i=s.length();数组:.length;int[] nums=new int[100]();int k=nums.length;Collection
2021-09-28 17:12:36 80
原创 力扣 94 遍历二叉树 树
二叉树的遍历是指从根节点出发,按照某种次序依次访问二叉树中所有节点,使得每个节点被访问一次且仅被访问一次。遍历方式主要分为四种:1、前序遍历规则是若二叉树为空,则返回空操作,否则先访问根节点,然后前序遍历左子树,再前序访问右子树。总结:能左则左,左空就近遍历右子树。2、中序遍历规则是若二叉树为空,则返回空操作,否则先从根节点开始,中序遍历根节点左子树,然后访问根节点,最后中序遍历右子树。3、后序遍历左右跟。4、层序遍历从树的第一层开始由上而下进行遍历。...
2021-09-27 16:44:15 84
原创 力扣 5 最长回文串 动态规划
动态规划步骤:定义状态方程——>状态转移方程——>初始化、边界条件字符串转化为字符数组方法: char strings[] = s.toCharArray();
2021-09-27 14:31:25 57
原创 力扣 20 有效的括号 栈,HashMap用法
Queue队列,Deque双向队列,可以使用栈方法(push,pop)实现类:ArrayDeque;LinkedList;注意:LinkedList与ArrayList、ArrayDeque的实现机制完全不同,ArrayList、ArrayDeque内部以数组形式保存集合中的元素,因此随机访问集合元素有较好的性能;LinkedList内部以链表的形式保存集合中元素,随机访问集合元素性能较差,但在插入、删除元素的性能比较好(因为只需要改变指针所指向的位置)。构造方法:Deque stack=
2021-09-26 22:38:52 55
原创 力扣 3 最长无重复子串
方法:滑动窗口法代码总结:HashMap创建方法:HashMap<Character,Integer> mao=new HashMap<Character,Integer>();HashMap查找是否含有特定key:mao.containsKey();HashMap加入新键值对:(注:当新加入键值对key与原有键值重复时,会覆盖原键值对)mao.put(key,value);简单判断两整数大小:Math.max(int a,int b);
2021-09-26 21:36:58 57
原创 Java 容器
Java集合概览Java集合,也叫做容器,又两大接口派生而来:一个是Collection接口,主要用于存放单一元素;另一个是Map接口,主要用于存放键值对。对于Collection接口下面又有三个主要的子接口:List、Set和Queue。Java集合框架如下图所示:注意:图中只列举了主要的继承派生关系,并没有列举所有关系。List,Set,Queue,Map四者的区别List(对付顺序的好帮手):存储的元素都是有序的、可重复的。Set(注重独一无二的性质):存储的元素是无..
2021-09-26 19:30:19 46
原创 Java 学习笔记4 关键字总结
final,static,this,super关键字总结final关键字final关键字,意思是最终的、不可修改的,用来修饰类、方法和变量,具有以下特点:1、final修饰的类不能被继承,final类中的所有成员方法都会被隐式的指定为final方法;2、final修饰的方法不能被重写;3、final修饰的变量是常量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能让其指向另一个对象。static关键字static关键字主要是
2021-09-25 21:55:02 135
原创 Java 学习笔记3 枚举
什么是枚举(enum)?枚举类型是什么呢,其实是指一组固定的常量组成合法值的类型。枚举很多时候都会和常量拿来作对比,因为我们大量使用枚举的地方就是为了代替常量。那么这总方式有什么优势呢?以这种方式定义的常量使代码根据可读性,允许进行编译时检查,预先记录可接受值的列表,并避免由于传入无效值而引起的意外行为。如何自定义枚举类?枚举关键字enum从java5.0开始在java5.0之前要自定义枚举类类的对象只有有限个,确定的,这种类称之为枚举类。如:订单状态:已发货、退货、已确认、已配.
2021-09-25 17:18:07 89
翻译 JavaGuide 学习笔记2
开始时间:2021/09/23 13:09源网站:JavaGuide面向对象三大特征封装封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。(将成员变量修饰符设置为private,将修改该成员变量的方法的修饰符设置为public)继承不同类型的对象,相互之间经常有一定数量的共同点。同时,每一个对象还定义了额外的特性使他们与众不同。继承是使用已存在的类定义作为基础建立新类的技术,新的类的定义可以
2021-09-24 21:15:52 247
转载 javaGuide 学习笔记1
开始时间:2021/9/21 13:41学习源网址:JavaGuidejava基础概念与常识JAVA特点:简单易学;面向对象(封装,继承,多态);平台无关性(通过Java虚拟机实现平台无关性);支持多线程;可靠,安全;支持网络编程;编译与解释共存;JVM:java虚拟机,运行java字节码的虚拟机,针对不同系统的特定实现,使用相同的字节码,给出相同的结果。*字节码:JVM可以理解的代码就叫字节码,就是扩展名为.class的文件。从源代码(.java)到运行程序一般有三步:JDK和J..
2021-09-22 22:43:42 428
原创 2021-09-15刷题日志
中午12:40开始刷题第一题:力扣20——有效的括号1、哈希表:需要调用库:java.util.Map链表长度大于8时自动转化为红黑树构造方法:HashMap<Key,value> map1=new HashMap<Key, Value>();常用方法:添加元素:map1.put(key,value);clear():从此映射中移除所有映射关系。containsKey(Object key):如果此映射包含对于指定键的映射关系,则返回 true。con
2021-09-15 17:01:04 156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人