Java
文章平均质量分 82
以理论为基础,项目为辅,记录Java的学习过程。JavaSE-JavaEE-JavaWEB-SSM等
假正经的小柴
双非也有编程梦!在读大三,是一个爱看源码的小伙.....
展开
-
从字节码层面分析Lambda
从这字节码解析后的数据可以看出呢,我们写的Lambda表达式最后成了一个局部方法,有自己的寄存器、局部变量表、操作数栈....这也是为什么我们平时在方法中使用Lambda时访问不了方法定义的变量的原因,原因就是定义的变量在其本身的局部变量表里,而不是在我们写的Lambda的局部变量表里,每个栈帧之间是独立的,所以访问不了原创 2023-10-27 17:18:08 · 155 阅读 · 0 评论 -
【线程安全的讨论(一)】CPU多核缓存架构和JMM
Java 虚拟机规范中曾经试图定义一种Java内存模型,来屏蔽各种硬件和操作系统的内存访问之间的差异,以实现让Java程序在各种平台上都能达到一致的内存访问效果。在此之前,主流程序语言直接使用物理内存和操作系统的内存模型,会由于不同平台的内存模型差异,可能导致程序在一套平台上发挥完全正常,在另一台就可能发生错误,所以在某种常见的场景下,必须针对平台来进行代码的编写。原创 2023-07-28 18:00:47 · 970 阅读 · 0 评论 -
【JavaEE】Servlet学后大汇总
Servlet的生命周期可以分为几步来看:Tomcat小猫咪去web.xml文件中找对应的Servlet,然后通过反射对Servlet进行加载;通过类对象创建出对应的Servlet对象(通过Servlet中的无参构造);有了Servlet对象,然后调用里面的init方法进行初始化Servlet;此时ServletConfig对象被创建。然后调用Servlet类的service方法;最后调用destroy方法,在服务中删除Servlet实例之前,该方法使得Servlet有机会清理所有的资源,例如:原创 2023-02-20 07:15:00 · 672 阅读 · 2 评论 -
【JavaSE】protected修饰符和clone方法你真的熟悉吗?
子类在同一包的情况下是可以访问的,问题就是在不同包下的子孙类。当我们某些成员只想让子类访问,那肯定会选择protected修饰符。原创 2023-02-07 21:37:20 · 457 阅读 · 0 评论 -
【Java】那些我认为牛逼的代码(1)
Javaassist 就是一个用来处理 Java 字节码的类库。它可以在一个已经编译好的类中添加新的方法,或者是修改已有的方法,并且不需要对字节码方面有深入的了解。同时也可以去生成一个新的类对象(toClass),通过完全手动的方式。原创 2023-01-30 15:21:21 · 869 阅读 · 0 评论 -
【JSP】JSTL汇总——源码解析
JSTL作为最基本的标签库,提供了一系列的JSP标签,实现了基本的功能:集合的遍历、数据的输出、字符串的处理等等。原创 2022-12-01 21:58:17 · 908 阅读 · 0 评论 -
【JSP/Servlet】基于WEB的通讯录系统
首先有一个登录页面,登录页面需要输入用户名和密码,有记住选项(如果选择了记住下回就直接跳转到我的通讯录,无需登录),然后登录。正确登录后就跳转到通讯录系统的欢迎界面,欢迎界面有个“我的通讯录”的超链接;点击它会以表格的方式展示所有联系人的信息;然后我们可以对这个通讯录进行增删改;可以选择退出登录其他用户。原创 2022-11-24 13:06:28 · 1920 阅读 · 0 评论 -
【JSP】Page指令和九大内置对象
JSP中的Page指令关于Page指令常用的属性1. 2. 3. 4. 5.原创 2022-11-24 23:26:13 · 705 阅读 · 0 评论 -
【JSP】EL表达式
Expression Language(表达式语言缩写)EL表达式可以代替JSP中的Java代码,让JSP文件中的程序看起来更加的整洁,美观。JSP中夹杂着各种Java代码,例如、等,导致JSP文件混乱,不好维护,不美观。所以才有了后期的EL表达式。EL表达式可以算是JSP语法中的一部分,EL表达式属于JSP。EL表达式出现在JSP中主要是:从某个作用域中取数据,然后将其转换成字符串,然后将其输出到浏览器,这就是EL表达式的功效,三大功效原创 2022-11-30 14:15:08 · 697 阅读 · 0 评论 -
【JavaEE】B/S结构系统的会话机制_session机制
因为Http协议是一种无状态协议,Session不能依据HTTP连接来判断是否为同一个用户。无状态:请求的时候,B和S是连接的,但是请求结束之后,连接断了,为什么要这么做?Http协议为什么要设计成这样?减少服务器的压力,请求的瞬间是连接的,请求结束之后连接断开,这样服务器压力小。原创 2022-12-10 15:37:32 · 618 阅读 · 0 评论 -
【MVC和三层架构】联系、区别以及简单实践
控制层(Controller)专心协调视图(View)和模型(Model)的数据交互,各司其职,Controler可以自由的调用Model,Model之间也可以互相调用。原创 2023-01-01 08:00:00 · 1034 阅读 · 0 评论 -
【JavaEE-Servlet】Filter过滤器详解
Filter过滤器何时使用:需要限制用户访问某些资源时;需要处理请求时先处理某些资源时;需要对服务器响应的内容处理后再响应时。原创 2022-12-05 17:23:10 · 1105 阅读 · 0 评论 -
【Java+LeetCode训练】binarySearch源码解析
序:使用Arrays工具类中的binarySearch方法进行二分搜索时,我们知道搜索成功会返回其下标,那么搜索失败它会返回什么呢?分析分析源码。原创 2022-11-29 22:09:48 · 402 阅读 · 0 评论 -
【Java】Java易丢失的基础知识一
类初始化包含执行的静态初始化语句,以及类中声明的static字段(类变量)的初始化语句;接口的初始化包含执行接口中声明的字段(常量)的初始化语句。初始化一个类前,如果没有初始化过它的超类,必须先初始化其超类,但是不会初始化由该类实现的接口;在初始化一个接口之前,也不会初始化该接口的超接口。以下情况的任意一种情况第一次发生之前,将立即初始化类或接口类型 T:🎈T 是一个类,并且创建 T 的一个实例;🎈T 是一个类,并且调用 T 声明的一个静态方法;🎈使用 T 声明的一个静态字段,并且该字段原创 2022-11-13 11:51:06 · 297 阅读 · 0 评论 -
【Tomcat】解决Tomcat服务器乱码问题
出现乱码的原因:使用了错误的字符编码去解码字节流,所以出现乱码咱思维要清晰,就去找字符编码是否与其可匹配。Windows默认编码是GBK。原创 2022-11-04 15:40:40 · 940 阅读 · 2 评论 -
【Java异常易错点】try或catch语句块中return后,finally还会执行吗?
1、第一个输出:num为0的时候,分母为0,那么便会报出异常java.lang.ArithmeticException(这里是针对整型运算分母为0的情况,浮点型可不会抛出异常),抛出异常就执行catch语句,那么就返回 0?那这时候的finally还会执行吗?2、针对第二个输出:num为1 的时候,在try语句块中result应该是为2的,随后又return result?那此时finally 还会执行吗?原创 2022-10-31 12:55:28 · 1320 阅读 · 0 评论 -
【LeetCode 784. 字母大小写全排列】异或进行字母大小写变换
根据提示知道字符串是由字母和数字构成,所以我们可以先判断字符是否是字母,通过isDigit排除不是数字即可根据变化字符的数量进行出发进行解题,变一个字符,变俩字符,还是不变。。。通过异或的方式进行大小写变换原创 2022-10-30 13:34:20 · 623 阅读 · 3 评论 -
【JavaSE之JDK8新特性】三万字详文带你了解JDK8新特性
1.了解了什么是lambda 表达式,lambda 表达式和匿名内部类的区别;2.了解了默认方法是个啥,JDK8使得接口里也可以有静态方法了;3.介绍了四个函数式接口,Supplier,Consumer,Function,Predicate;4.方法引用的概念以及其中的语法格式;5.引入了Stream流(遍历数据集的高级迭代器);6.介绍了Stream的常用方法,学习了如何更好的处理数据原创 2022-10-29 21:58:50 · 2240 阅读 · 23 评论 -
【JDK8新特性】Stream常用方法学后练习
执行交易的交易员。你的经理让你为八个查询找到答案。数据初始化需要处理的问题(1) 找出2011年发生的所有交易,并按交易额排序(从低到高)。(2) 交易员都在哪些不同的城市工作过?(3) 查找所有来自于剑桥的交易员,并按姓名排序。(4) 返回所有交易员的姓名字符串,按字母顺序排序。(5) 有没有交易员是在米兰工作的?(6) 打印生活在剑桥的交易员的所有交易额。(7) 所有交易中,最高的交易额是多少?(8) 找到交易额最小的交易。main代码总结原创 2022-10-29 21:48:11 · 773 阅读 · 0 评论 -
【JDBC】模拟用户登录_Java
实现功能 1、需求:模拟用户登录功能的实现 2、业务描述: 程序运行的时候,提供一个输入的入口,可以让用户输入用户名和密码 用户输入用户名和密码之后,提交信息,Java程序收集到用户信息 Java程序连接数据库验证用户名是否合法 合法:显示登录成功 不合法:显示登录失败 3、数据的准备原创 2022-10-16 16:19:18 · 1248 阅读 · 1 评论 -
使用Java实现一个定时器
java.util.Timer类:它是一种工具,线程用其安排以后在后台线程中执行的任务,可安排任务执行一次,或者定期重复执行;其构造方法:Timer() 创建一个新计时器Timer(boolean isDaemon) 创建的该计时器可以指定相关的线程作为守护线程运行。我们需要用到的方法:void schedule(TimerTask task,Date firstTime,long period)(看参数大概也可以知道功能)安排指定任务在指定时间开始进行重复执行原创 2022-10-03 16:09:55 · 5956 阅读 · 8 评论 -
Java中删除元素方法你真的懂了吗?
总结1. 叙述了用线性表删除式删除应该注意的点,如果要用记得 --i 或者采用逆遍历的思想;2. 叙述了为什么不能foreach遍历来删除元素3. 强烈建议用 iterator 迭代器的方式进行删除元素或遍历元素4. 用迭代器删除时不能一次性多次进行删除,原因和源码中成员变量cursor和lastRet有关5. 拓展了用removeAll集合方法进行删除原创 2022-09-29 13:43:04 · 2188 阅读 · 8 评论 -
回溯模板(2)——解决全排列问题
回溯模板(2)——解决全排列问题解决组合相关的问题原创 2022-09-27 17:10:21 · 668 阅读 · 7 评论 -
Java IO流的“四大家族”
IO流的“四大家族”字节流:java.io.InputStream (读操作使用流) java.io.OutStream(写操作使用流)字符流:java.io.Reader(读取器) java.io,Writer (写入器)原创 2022-09-25 15:08:53 · 2680 阅读 · 17 评论 -
学习花式反转——字符串
学习花式反转——字符串序:有的时候调用库中直接给的类方法解决起来更轻松,有的时候里面的方法并不能解决实际性问题,这时候就需要我们自个儿重写了。首先我们可以学习库里面方法怎么实现的,随后我们可以写出不同于它的(别人的东西不一定有自个儿的好)下面说说c++STL中string和Java中的String与StringBuffer解决反转问题所遇到的情况。原创 2022-09-22 19:41:31 · 598 阅读 · 16 评论 -
Java异常编程题(巩固语法)
处理异常,让含受检异常(checked Exception)的程序可以运行完成。原创 2022-09-18 15:19:19 · 711 阅读 · 11 评论 -
Java基础题(巩固语法)
Java基础题巩固提高原创 2022-09-15 09:38:53 · 1653 阅读 · 23 评论 -
Java包---Java类的组织方式
包🤔学包前的思考简单介绍包的概念包的作用包的创建🤖包的引入简单介绍Javase API的主要包🤔学包前的思考想想在大型的项目中,肯定不是几个类就可以完成的,几千个类甚至上万个类都是有可能的,而且各个类名还不能相同,那混在一起会不会太复杂了点?Java里面提供了一个可以有效组织类的结构-----包。标准的Java类库就是由包进行组织在一起的。比如我们常用的java.util包就是其中的一个,里面有很多我们常用的类:Scanner,Date,Arrays…等等。简单介绍包的概念包是一组相关的类和接口原创 2022-09-06 20:33:54 · 523 阅读 · 4 评论 -
Java中的static关键字----没创建对象也可访问成员
Java相对c++而言,是一种面向对象更为严谨的一种编程语言。编程某个的类的过程中,如果有每个对象的共需数据,当需要修改时,每个对象都要对其修改,会很麻烦,使其同步会过于繁琐。比如一个班级类中,里面有个学生人数的成员属性,那么对于每个学生对象都应该是一样的值,当要修改这个属性时,则需更新每个学生对象的属性值,会造成很大的不便。Java中提供了静态变量来解决这个问题,用static关键字来描述。原创 2022-08-20 23:28:33 · 1019 阅读 · 3 评论