- 博客(30)
- 收藏
- 关注
原创 创建对象时,类里面的调用顺序如下
1、创建一个对象时,在一个类的调用顺序是:第一步: 调用静态代码块和静态属性初始化(注意:静态代码块 和 静态属性初始化调用的优先级一样,如果有多个静态代码块和静态属性初始化,则按它们定义的顺序从上往下调用)。第二步: 调用普通代码块和普通属性的初始化(注意:普通代码块和普通属性初始化调用的优先级一样,如果有多个普通代码块和普通属性初始化,则按它们定义的顺序从上往下调用)。第三步: 调用构造方法 (构造器)。2、构造器方法体里的最前面其实隐含了 super() 和 调用普通代码块,所以在调用构造器
2021-09-28 15:10:21
1504
1
原创 java的动态绑定机制(遇到多态时要注意这个问题)
1、当调用对象方法的时候,调用的是该对象 在堆内存有地址的实际对象(运行类型)的方法 。2、当调用对象属性时,没有动态绑定机制,哪里声明,就使用哪里的属性 。
2021-09-18 18:42:31
178
原创 Java继承注意事项
1、子类继承了父类所有的属性和方法,非 private 的属性和方法可以在子类直接访问,private 属性和方法不能在子类直接访问,要通过父类提供的 public 方法间接访问。2、子类必须调用父类的构造器, 完成父类的初始化。3、当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用 super(参数列表) 去指定使用父类的哪个构造器完成对父类的初始化工作,否则,编译不会通过。4、如果希望指定去调用父类的某个构造器
2021-09-16 16:31:23
734
原创 Java中的包(package)命名详解
命名规则: 不能是数字开头,可以包含字母、数字、下划线、(.)小圆点符号,不能是关键字、保留字 。命名规范: 一般是:com.公司名.项目名.业务模块名例如: com.csdn.oa.controller
2021-09-15 19:22:02
1259
原创 进制详解(程序员的基本功)
进制介绍 ↓对于整数,有四种表示方式:**二进制:**用 0、1 表示,满 2 进 1,以 0b 或 0B 开头(数字7 二进制表示为 0b111)。**十进制:**用 0 - 9 表示 ,满 10 进 1。**八进制:**用 0-7 表示 ,满 8 进 1,以数字 0 开头表示(数字18 八进制表示为 22)。**十六进制:**用 0-9 及 A(10) - F(15) 表示,满 16 进 1, 以 0x 或 0X 开头表示。此处的 A-F 不区分大小写(数字31 用十六进制表示为 1F )
2021-09-01 17:38:53
368
原创 Java标识符命名规范
详细介绍可以看韩老师的视频,链接地址: https://www.bilibili.com/video/BV1fh411y7R8?p=84
2021-09-01 16:31:59
124
原创 运算符优先级
优先级顺序如下图(优先级从上往下依次递减,R(right) --> L(left) = 从右往左运算,L --> R = 从左往右运算)↓
2021-09-01 16:08:53
119
原创 AOP 自动记录日志 之 获取当前执行的方法名称、获取当前执行的目标对象类全名、获取来访者 IP地址
1、编写 springmvc.xml , 开启 Aop 自动代理 ↓2、编写 日志 切面类 ↓
2020-07-10 17:05:05
1893
原创 自定义日期类型转换器
1、定义 类型转换器 ↓2、配置 类型转换器 ↓3、配置 类型转换器 详解 ↓4、总结: 类型转换器 本质是一个 类 实现了 Converter 接口,在类里 重写 接口中的 convert 方法 根据 业务需求 编写 转换逻辑 。...
2020-06-05 16:07:57
427
原创 Spring 组件扫描配置
<context:component-scan base-package=xxx />作用:解析 spring 的注解,实例 ↓
2020-04-10 20:19:50
240
原创 response.getWriter().write() 和 response.getWriter().print() 的区别
1、response.getWriter().write(): 用于 输出 字符串 。2、response.getWriter().print(): 用于 输出 非字符串类型 的数据,底层 就是 自动转换成 字符串 输出 。
2020-04-05 10:07:15
415
原创 同步 与 异步 开发模式的区别
1、区别 ↓2、异步:js 发送请求,服务器 servlet 处理请求返回 json数据 给前端,js 回调函数 获取 数据 更新页面 。3、同步:浏览器(用户)发送请求,服务器 servlet 处理请求将数据存储到域中并跳转到 jsp页面布局,jsp 返回 数据 给 浏览器 显示 。4、异步 与 同步的使用场景 ↓4.1、从页面更新数据位置使用原则:切换 或 跳转 页面一般...
2020-04-04 20:22:19
1677
原创 三层架构异常的处理要求:
dao,service 的编译时异常要往上层抛出,抛给 servlet,最终 servlet 处理请求要 try-catch 处理并抛出 RuntimeException , 因为运行时异常不影响代码的结构 。
2020-03-27 09:33:49
287
原创 BaseServlet 优化 - 反射实现方法自动执行
实现需求:优化 Servlet 不需要一个个 action 的判断,以后根据 action 的值自动让方法名一样的方法自动执行。1、需要优化的 servlet ↓@WebServlet(name = "UserServlet",urlPatterns = "/UserServlet")public class UserServlet extends BaseServlet { pri...
2020-03-26 22:06:31
217
原创 filter(过滤器) 解决 response(响应)中文乱码 及 post 请求乱码
@WebFilter(filterName = "EncodingFilter",urlPatterns = "/*")public class EncodingFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest req, ServletResp...
2020-03-21 08:41:47
1235
原创 解决 mysql 底层乱码问题
修改druid.properties配置文件,设置mysql使用utf-8解码,添加“?characterEncoding=utf8”
2020-03-19 11:27:01
84
原创 freemarker 模板转出数据部分中文乱码问题,搞了两三个小时,后来请教大佬解决了,记录一下,避免再犯。
开始 eclipse 里面设置的默认编码是 gbk,如下图然后我在 gbk 编码格式下编写 ftl 模板文件,如下图编写完后打印内容发现,部分中文乱码,如下图然后上网找呀找,网上说要设置 freemarker 编码,我按照网上说的去设置了,还是没有解决,网上说的设置如下图:实在是不知道怎么解决了,厚着脸去找了大佬来看一下,大佬看了后发现问题所在:从数据库拿出的中文没有乱码,直接在 f...
2020-01-07 11:48:25
1058
原创 java 序列化与反序列化:序列号冲突解决办法
创建类继承 Serializable接口 时,自定义该类的序列号为常量,使它不能发生改变。代码示例如下:
2019-12-30 17:33:25
865
原创 FreeMarker 模板引擎
1、freemarker 使用步骤如下(入门案例)a、创建 FTL 文件,写 freemarker 代码,如下图b、创建 java 类与之关联,如下图2、基础语法a、文本:直接输出的部分b、注释:即<#–…-->格式不会输出c、取值:即${…}部分,将使用数据模型中的部分替代输出d、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出...
2019-12-20 18:20:20
355
原创 统计文件夹中不同类型文件的出现次数,代码实现如下
统计文件夹中不同类型文件的出现次数,代码实现如下。public class Demo { // map 集合统计文件类型出现次数,键为文件类型,值为出现次数 private static Map<String,Integer> typeOccurrence = new LinkedHashMap<>(); // Array 集合存储不是文件也不是文...
2019-12-06 23:23:30
221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人