
JAVA
文章平均质量分 88
打代码的小明
你会的别人都会
展开
-
腾讯日常实习面试经历
1 技术一面通知方式:打电话约时间面试方式:腾讯会议,不用开摄像头面试时间:48分钟面试问题:自我介绍介绍一下用Java开发的项目,然后就是相关的各种问题Java中用过哪些集合类arrayList和vector的区别hashmap的数据结构synchronied的使用范围synchronied修饰方法的话锁的是什么东西synchronied修饰静态方法和非静态方法,锁的是同一个东西吗Java并法编程的工具包有了解过吗阻塞队列有了解过吗,有哪些使用场景JVM的内存划分垃原创 2021-09-30 20:08:05 · 3962 阅读 · 7 评论 -
超级好用的SpringBoot(2)
超级好用的SpringBoot(1)目录一、静态资源导入二、thymeleaf模板引擎三、数据 库相关操作3.1 JDBC3.2 MyBatis一、静态资源导入静态资源理解为HTML、CSS、JS、图片等等,不需要查数据库也不需要程序处理就能够显示的页面。这些静态资源可以放在以下目录:resourcesstatic(默认使用)public优先级从上往下以此降低二、thymeleaf模板引擎如果直接用纯静态页面进行开发会很麻烦,但如果使用模板引擎就会简单很多,模板引擎相当于是一个页原创 2021-09-05 10:54:05 · 254 阅读 · 0 评论 -
超级好用的SpringBoot(1)
一、简介1.1 Spring Boot虽然Spring已经简化了很多开发过程,但是需要配置的东西还是很多很罗嗦,所以在Spring的基础上出现了Spring Boot这个新框架。大多数Spring Boot应用只需要很少的配置即可,所以 能够起到更快开发的效果。1.2 微服务微服务是一种架构风格,要求把应用构建成一系列小服务的组合。在过去使用单体应用架构,把所有的服务都封装在同一个war包内,但是如果要改动就需要全部重新部署应用war包。所以才出现了微服务架构,把每个功能独立出来,各个功能之间动原创 2021-09-02 14:32:48 · 207 阅读 · 1 评论 -
早学早享受的SpringMVC
目录一、MVC一、MVCMVC是一种软件设计规范,将业务逻辑、数据、显示分离。分为以下三个部分:Model 模型:dao层、service层。包含数据和业务View 视图:jsp、html。界面的展示Controller 控制器:servlet。中转,接收请求转发给模型处理,处理完再把结果返回给视图...原创 2021-08-30 16:11:13 · 322 阅读 · 0 评论 -
承上启下的Spring(3)
承上启下的Spring(1)承上启下的Spring(2)目录一、整合MyBatis二、声明式事务一、整合MyBatis整合的过程相当于是把一些写在MyBatis配置文件中的内容转移到Spring的配置文件中,把各种MyBatis的类不在通过代码来创建对象,而是使用< bean >标签来创建bean,把操作SQL的SqlSession类改为SqlSessionTemplate类,再添加接口实现类即可,其他的东西基本都没有变化。步骤:导入相关jar包junitmybatismys原创 2021-08-26 13:52:29 · 140 阅读 · 0 评论 -
承上启下的Spring(2)
承上启下的Spring(1)目录一、代理模式二、AOP2.1 简介2.2 方法1:使用Spring的API实现AOP2.3 方法2:自定义类实现AOP2.4 方法3:注解实现AOP一、代理模式角色:抽象角色:使用接口或抽象类真实角色:被代理的角色代理角色:代理真实角色,并需要做一些附属操作客户:访问代理的人举例:假设有租房这个业务,其中涉及到的角色有:租客(想要租到房子);房东(想要出租房子);中介(为租客和房东进行协调)。按照最终的目的来说,租客是向房东租房,但是房东可能没空去处理出原创 2021-08-25 17:13:53 · 256 阅读 · 0 评论 -
承上启下的Spring(1)
后悔没有早学的MyBatis(1)目录一、解决属性名和字段名不一致的问题一、解决属性名和字段名不一致的问题在上一篇博客中,我说过属性名必须要和数据库中表中的字段名字一致,否则无法进行定位,从而丢失属性值。解决方法一:从SQL语句入手,给字段名取别名,让其与属性名保持一致即可。但这是最简单、最笨的办法解决方法二:在mapper.xml文件中使用resultMap属性代替resultType在mapper.xml文件中新加入一个< resultMap > 标签。这是结果集映射,在这个标原创 2021-08-24 18:17:17 · 467 阅读 · 0 评论 -
后悔没有早学的MyBatis(2)
后悔没有早学的MyBatis(1)目录一、增删改查二、MyBatis核心配置文件2.1 环境配置 environments2.2 属性 properties2.3 类型别名 typeAliases2.4 映射器 mappers一、增删改查增删改查是对数据库最基本的操作,而实现这些操作只需要两个步骤:在接口类中声明方法在mapper.xml中写不同的标签和相应的SQL语句常用的属性:属性名作用id指明对应接口中的哪个方法名resultType方法返回的类型原创 2021-08-20 17:27:57 · 280 阅读 · 0 评论 -
后悔没有早学的MyBatis(1)
目录一、简介1.1 什么是MyBatis1.2 MyBatis的特点二、入门2.1 搭建环境2.2 编写MyBatis核心配置文件2.3 写代码三、总结一、简介1.1 什么是MyBatisMyBatis是一个持久层框架,既然和持久层有关那就可以简单理解成和数据库有关,既然是框架那么就肯定是为了简化数据库有关的操作。由于传统的JDBC代码处理数据库有关的代码太复杂,所以出现了MyBatis来快速处理数据库。1.2 MyBatis的特点支持定制化SQL、存储过程、高级映射省略了手动编写JDBC代码原创 2021-08-19 21:48:22 · 377 阅读 · 0 评论 -
一点关于Tomcat的理解
目录一、什么是tomcat二、tomcat各个文件夹作用三、启动Tomcat四、关闭Tomcat五、server.xml六、发布网站一、什么是tomcat tomcat是web服务器,既然是服务器,那就是用来处理请求并做出响应的。可以理解为tomcat的作用是:当做好了一个网站时,为了能通过浏览器正常访问,就需要一个服务器来管理网站,这时就需要tomcat来管理网站。二、tomcat各个文件夹作用bin:启动、关闭的原创 2021-08-17 17:33:07 · 330 阅读 · 0 评论 -
Maven挺香的
1 简介1.1 什么是MavenMaven是一个软件项目管理和构件工具,可以帮助我们创建和管理项目。基于项目对象模型POM(project object model)的概念,帮助开发者构建一个项目的完整生命周期(编译、测试、部署等等)注:POM是Maven对一个项目的描述,是Maven的核心,一个POM其实就是一个XML文件1.2 为什么使用Maven项目的管理工具当项目规模很大时一定会将项目进行拆分,将一个项目拆分为多个模块,每个模块对应一个工程,多个工程之间存在存储依赖关系。此时使用Mav原创 2020-08-31 22:47:53 · 202 阅读 · 0 评论 -
Java学习——反射
1 类加载将class文件读取到内存中的过程。类加载器:class文件的加载由ClassLoader完成。如果要获取当前类的类加载器,可以使用 类名.class.getClassLoader()BootStrapClassLoader:启动类加载器,用C++编写,由JVM在启动时加载初始化,主要负责加载%JAVA_HOME%/jre/lib路径下的类(各种jdk自带的包)。所以平时写代码时直接导入包就可以使用各种方法ExtClassLoader:扩展类加载器,用Java编写,由BootStrap原创 2020-08-03 11:17:29 · 631 阅读 · 0 评论 -
Java学习——线程
1 进程(process)在操作系统中独立运行的程序,每运行一个应用程序就对应着一个进程。简单说就是你每打开一个软件就是一个进程。打开电脑的任务管理器就能看到当前你的电脑都在运行哪些进程多进程:在操作系统中可以同时运行多个程序,比如你可以一边听音乐一边打代码一边下载电影。2 CPU时间片CPU时间片就是CPU分配给各个程序的时间,即该进程允许运行的时间,但时间很短。对于单核CPU:从表面上看各个程序是同时运行的,实际上CPU在同一时间只能运行一个程序,只是因为CPU在很短时间内在不同程序间原创 2020-07-29 16:19:48 · 384 阅读 · 0 评论 -
Java学习——I/O输入输出流
目录1 File类1.1 特点1.2 构造方法1.2.1 路径分类I/O就是Java可以读取磁盘中的文件,也可以将数据写到磁盘中的文件里1 File类java.io.File类表示磁盘上的文件或目录(文件夹)1.1 特点文件和目录都通过File类表示(目录实际上就是特殊的文件)File类提供了对文件和目录的基本操作,如查看文件名、文件大小、新建、删除文件等File类只能看文件的属性,而不能查看文件内容1.2 构造方法1.2.1 路径分类关于路径分隔符:Windows使用 “\” 反原创 2020-07-27 20:30:46 · 782 阅读 · 0 评论 -
平时不怎么注意的异常处理
异常:程序在运行过程中发生的意外情况,例如除数为0,数组超界等等异常是一种信号,用于向调用者传递信息,表示程序发生的意外情况。程序运行时一旦出现异常,将会导致程序立即终止,异常之后的代码将无法继续执行,所以需要对异常进行处理常见异常:异常含义发生时机ArithmeticException算术异常除数为0ArrayIndexOutOfBoundsException数组下标越界访问下标不存在的数组元素NullPointerException空指针异常对null原创 2020-07-12 17:42:49 · 444 阅读 · 0 评论 -
Java学习——枚举、泛型、内部类
枚举自定义的数据类型,适用于有限个数的取值作用:限制可能的取值个数(范围)。 例如选择季节,只有春夏秋冬4种可能,但可能会输入其他无关的内容,那么就应该对其进行限制降低错误的几率。例子上如一条,如果想要输入春天spring,但是单词不小心拼错了那么就识别不出来了。如果使用了枚举类型就只需要从给出的范围内进行选择即可提高代码的可读性用法:使用enum关键字: public enum 枚举名{ …}(类似定义类),本质上就是一个类。在创建一个枚举时,例如eclipse在新建中有单独的枚举文件,原创 2020-07-08 20:24:12 · 581 阅读 · 0 评论 -
Java实现简易图形编辑系统
这学期学了各种软件设计模式,老师要求我们利用抽象工厂、组合、迭代器、观察者等设计模式实现一个图形编辑系统。虽然基本功能实现了,但还是不确定是否是真的符合各种设计模式的要求目录1 实现过程1.1 采用抽象工厂设计模式创建图形对象1.2 采用组合设计模式设计直线、符号、字符串、方框及复合图形1.3 采用迭代器设计模式访问复合图形中的各个子图形1.4 采用观察者设计模式实现图形的拖动、放大缩小2 实现细节3 完整代码4 总结原创 2020-07-05 15:24:25 · 5121 阅读 · 1 评论 -
字符串有关的一些知识补充
目录1 String常量(字符常量)2 字符串的常量池3 字符串的不变性4 StringBuffer和StringBuilder4.1 用途4.2 常用方法4.3 区别1 String常量(字符常量)只有使用双引号直接创建的字符串,例如String str=“aaa” ,与new出来的字符串相比,new出来的必须在堆中分配新的空间,当一个字符串重新new时,原来的空间会被gc回收。而字符常量存放在常量池中,重新赋值后原来的空间不会被回收2 字符串的常量池常量池是除了栈和堆以外的存储空间常量池中的原创 2020-07-03 23:11:05 · 288 阅读 · 0 评论 -
初步了解正则表达式
目录正则表达式用法正则表达式一门独立的语言,有自己的语法,用于检测指定的字符串是否符合特定规则示例作用a只能是aaba{x}只能是a,并且有x位,即x个aa{x,}只能是a,至少有x位a{x,y}只能是a,并且有x位到y位a*只能是a,并且有0或多位a+只能是a,并且至少有1位a?只能是a,并且有0或1位[a-g]只能是a到g的符号[a-g]{x}只能是a到g的符号,并且有x位[a-zA-z]{x}只原创 2020-07-02 22:07:21 · 201 阅读 · 0 评论 -
Java学习——集合总结
List实现:ArrayList、LinkedList、Vector、StackArrayList(Array数组,List列表)实现了长度可变的数组,本质上还是使用数组实现,所以和数组的特点类似,其中的元素是有顺序的,按照元素添加的顺序排列。默认长度为10,内部会自动增大长度。允许元素重复添加属于泛型,如果不指明具体的类型默认为Object,此时可以添加任意类型的元素。如果指定具体的类型则只能添加对应类型的元素方法名作用add(Object o)默认在末尾添加元素a原创 2020-05-29 15:39:07 · 851 阅读 · 0 评论 -
520不敢说出口?教你硬核表白
临近5月20,想起之前做过一个用程序做出一个爱心的图案,便突发奇想给它升级一下爱心1.0爱心2.0目录原理实现要点完整代码爱心1.0爱心2.0总结原理爱心1.0的原理 是根据公式 (x ^ 2 + y ^ 2 - 1) ^ 3 - x ^ 2 * y ^ 3 = 0画出来的。使用双重循环就可以实现,然后判断最后的结果和0的关系。如果结果等于0则该坐标就在爱心上,如果大于0则在爱心外,小于0则在爱心内。那么就可以画出不同样子的爱心画边框、爱心留白只画爱心内部如果只是这样的话,那和爱原创 2020-05-20 07:50:35 · 3959 阅读 · 20 评论 -
使用各种类时怎么能不知道它们的源头Object
目录1.什么是Object类2.Object类中的常用方法2.1 getClass()方法2.1.1 理解2.1.2 用法2.1.3 native修饰2.2 equals()方法2.2.1 判断相等的两种方式与区别2.2.2 自动重写equals()方法2.3 hashCode()方法2.3.1注意事项2.4 toString () 方法2.5 clone() 方法2.5.1 重写clone() ...原创 2020-05-04 22:57:44 · 474 阅读 · 0 评论 -
学习Java过程中那些知道名字却不理解含义的大集合
每次和其他人讨论的时候总会出现,别人说一个术语或者一个英文简称我总是一脸懵逼,脑袋里的想法就是:听过很多次这个词,但就是不理解是什么意思。所以总结了一下我遇到的一些词,并查询了一些资料终于把它们弄懂了。目录1.JavaSE、JavaEE、JavaME1.1桌面应用程序2.JDK、JRK、JVM2.1编译器、解释器...原创 2020-04-27 18:40:38 · 1052 阅读 · 4 评论 -
学习jdbc踩过的坑
check the manual that corresponds to your MySQL server version for the right syntax to use near可能1:表名使用了Mysql的关键字可能2:“near”之后提示的地方有打错的地方,比如多个符号少个字母等等Duplicate entry ‘xxx’ for key ‘yyy’原因:向唯...原创 2020-02-24 20:51:45 · 826 阅读 · 0 评论 -
JDBC访问数据库方法
JDBC访问各种类型数据库的前提:不同数据库产品的实现方式通信协议不一样,所以各数据库厂商对接口进行实现,以jar包(数据库驱动)的形式提供实现类,jar包含有已经写好的类和接口,只需要将其引入项目中就可直接使用。 JDBC相关的类和接口都在java.sql中...原创 2020-02-19 17:45:14 · 949 阅读 · 0 评论 -
我用Java画了一棵圣诞树
圣诞节前夕,突发奇想想画一颗圣诞树,正好苹果那么贵买不起送人就用这个表达一下心意吧思路:计划用Java的Graphics画笔画一个圣诞树,打算由若干个20*20像素的正方形表示。首先用C写了个大概的样子出来确定了主要的写法和逻辑圣诞树1.0运行出来感觉这样的太丑了,就决定下面两个三角形都不要尖的部分了2.确定了写法后就用Java来写,还是要用到图形化界面,在一个面板里直接用fill...原创 2019-12-24 22:10:53 · 62617 阅读 · 87 评论 -
JAVA实现住宿预约管理系统
这个学期学了面向对象设计与分析,让做一个住宿预约管理系统,因为事情有点多,做的就比较仓促,很多功能都不完善,勉强凑合着看思路:功能:(1) 记录订单:分为预约订房、现场订房(2) 修改订单信息:分为更换房间、记录到达、删除订单使用图形化界面显示房间信息、订单信息,通过不同的功能按钮对数据进行操作,其中房间信息、订单信息的数据存放在数据库中,通过jdbc调用。细节:记录订...原创 2019-11-07 22:34:53 · 7896 阅读 · 6 评论 -
基于UDP实现多台电脑通信
在学习JAVA的网络编程时学到了UDP,这个东西可以实现不同电脑之间进行数据传输,我就想做一个最简单的聊天窗口,弄了一整天在和老师讨论了一下之后终于做出了一个勉强可以用来聊天的。写了一个比较形象的比喻,应该都能看懂UDP思路:可以把UDP的思路想象成发快递和收快递的过程,我准备了一份数据想要发给小明,就要先把它打包成一个包裹,然后填上小明的收货地址和门牌号,这样之后包裹就可以通过网络寄...原创 2019-09-04 16:25:35 · 2327 阅读 · 4 评论 -
JAVA实现篮球计分计时器
做这个的目的是学校举行的篮球赛决赛要在室内打,需要在大屏幕上投出比分、时间,因为找不到免费的软件用就只好自己写一个勉强能用的,虽然这么说但自己的东西在这种场合上派上用场还是有点开心的这个东西做起来还是比较简单的,只需要懂基本的图形化界面就能做出来思路:计分计时系统需要的东西:标题、两个队的名字、两个队的比分、比赛剩余的时间、24秒实现这几个东西:一个记录得分和队名的类,一个记录比赛剩余...原创 2019-08-29 20:19:14 · 2945 阅读 · 0 评论 -
JAVA实现战舰游戏
JAVA实验作业要写一个战舰游戏就作了一个出来实现战舰游戏的要点:如何让敌舰自动移动和发射子弹思路:使用画笔Graphics类将找到的战舰图片添加到面板中,并控制这个战舰图片移动和发射子弹实现游戏操作当子弹碰到战舰时战舰就会死亡,若是敌舰剩余量少于一定数量就会自动产生新的敌舰;若是玩家战舰被子弹击中则游戏结束使用多线程将每一个敌舰、每一颗子弹都独立出一个线程使其可以互不干扰...原创 2019-07-30 11:05:06 · 3174 阅读 · 4 评论 -
JAVA实现简单扫雷游戏
这是我第一次写博客,初衷是想把我学到的东西展示出来,通过写博客的方式再捋一遍自己的思路。希望自己的一点点想法能够给其他人启发,我也要把自己存在的问题提出来,以此文为起点,树立写博客的习惯,在之后的日子里不断见证自己的成长。因为win10系统没有自带的扫雷游戏我很难受,就决定自己要写一个扫雷出来。需求:懂得一定的JAVA图形化界面知识懂得一定的搜索算法知识(如果不懂的最好先学习一下广度...原创 2019-07-20 17:03:23 · 6568 阅读 · 15 评论