- 博客(82)
- 收藏
- 关注
原创 分享几道今天的面试题
再次声明:这是博主的理解,并不是标准答案特性intInteger类型基本类型对象类型(包装类)内存占用4 字节约 16-24 字节(含对象头和引用)性能高较低(对象创建、拆箱开销)支持null否是泛型/集合类不支持支持方法扩展无提供工具方法(如转换、比较)适用场景高频计算、临时变量泛型、数据库交互、API 设计、框架兼容。
2025-02-24 20:33:27
968
原创 记录一次SpringMVC的406错误
最近博主准备重新撸一遍SSM以及SpringBoot的源码,于是用原始的SpringMVC写了一个demo,并且用Tomcat进行启动。controller层的代码如下。启动后正常访问后却报406。
2025-02-23 21:58:37
490
原创 常用的jdk下载地址
Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/oracle 版本:https://www.oracle.com/java/technologies/downloads/
2024-09-09 15:55:05
738
原创 记录debug分析nacos源码
创建NacosNamingService 对象-----> 创建NacosNamingService通过反射 NacosNamingService 实例,通过构造函数执行 init()方法init()方法NamingClientProxyDelegate() -----> 实现服务的注册与发现等功能创建 ServiceInfoUpdateService()对象 -----> 定时拉取服务列表数据run()方法-----> 获取服务列表数据-----> 反序列化。
2024-09-09 15:00:30
1225
原创 java基础语法整理 -----下
需求:定义一个方法,把 int 数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。,执行方法后的输出结果为:[1, 2, 3]需求:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)总共给三次机会,登录之后,给出相应的提示。将全班的学生成绩存入数组中,已知学生成绩为:66,77,88,99,100。静态初始化:手动指定数组的元素,系统会根据元素的个数,计算出数组的长度。静态初始化:int[] arr = {1,2,3,4,5};
2024-06-14 19:39:06
887
原创 java基础语法整理 ----- 上
键盘录入的实际功能Java已经帮我们写好了,不需要我们自己再实现了,而Java写好的功能都放在了Scanner这个类中,所以,我们只要直接使用Scanner这个类就可以了。概念:方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载。需求:90-100分为优,80-90分为良,70-80分为中,60-70分为差。当不知道循环次数,也不知道循环范围,但是知道循环的结束条件时,用while循环。需求:键盘录入体重,如果大于150斤,给出超重回应,否则没有任何回应。
2024-06-08 10:11:06
937
原创 jvm学习笔记(三) ----- 垃圾回收器
链接: jvm学习笔记(一) ----- JAVA 内存链接: jvm学习笔记(二) ----- 垃圾回收JVM垃圾回收性能有以下两个主要的指标:GC操作:Serial + SerialOldSerial 工作在新生代的单线程收集器,采用『复制算法』,垃圾回收发生时,会暂停所有用户线程SerialOld 工作在老年代的单线程收集器,采用『标记-整理算法』,垃圾回收发生时,会暂停所有用户线程(stop-the-world)配置采用单线程执行所有的垃圾回收工作, 适用于单核CPU服务器,无法利用多核硬件的
2024-06-07 18:01:04
1066
原创 jvm学习笔记(二) ----- 垃圾回收
对象优先在『伊甸园』分配,当『伊甸园』没有足够的空间时,触发 Minor GC ,将『伊甸园』和『幸存区 From』中仍然存活的对象利用 复制算法 移入『幸存区 To』,然后交换『幸存区 From』和『幸存区 To』的位置。在幸存区历经多次 GC 还存活的对象会晋升至老年代,默认晋升的阈值是 15,也就是说只要经历 15 次回收不死,肯定晋升,但注意如果目标 survivor 空间紧张,也不必等足 15 次,可以提前晋升。情况1:伊甸园空间还够,新对象在伊甸园能够存储的下,这时候不会发生GC。
2024-06-07 17:48:28
1067
原创 jvm学习笔记(一) ----- JAVA 内存
作用:用来存储类对象,类加载器,静态变量,StringTable,SymbolTable,即时编译器生成的代码等。survivor From : 1/10 的年轻代空间。survivor To : 1/10 的年轻代空间。eden区: 8/10 的年轻代空间。老年代 : 三分之二的堆空间。年轻代 : 三分之一的堆空间。
2024-06-07 17:24:10
1131
原创 java中的抽象类到底如何用
当你需要为一组相关类提供一个操作的框架,其中一些步骤是固定的,而其他步骤(由抽象方法表示)则在子类中实现。例如,制定一个学习计划,其中学习计划的基本流程是固定的(比如先预习、再上课、最后复习),但是每一步的具体实现可能因学生类型而异。2.
2024-05-23 14:06:51
1746
原创 java每日一记 —— List创建的方式判断
判断一个Java List 集合是由 new 关键字实例化创建的,还是由 Arrays.asList() 方法创建的,直接从集合本身并不能直接得出结论,因为这两种方式创建的 List 实例在运行时都是 List 接口的实现类对象,表现形式上没有明显的区别。
2024-03-11 13:19:50
488
1
原创 for循环的多重跳出
前段时间面试时,面试官问我多重for循环如何跳出,我懵了,今天特别的研究了一下本文主要说的不是continue与break,而是少用的另类操作1.continue:跳出本次循环2.break:跳出整个循环。
2024-02-05 16:32:32
835
原创 jenkins环境搭建
安装方式请参考博主之前的文章:https://blog.youkuaiyun.com/weixin_44702984/article/details/128906562。将XML内的url的值替换为:http://mirror.xmission.com/jenkins/updates/update-center.json。1.通过官网下载git:https://mirrors.edge.kernel.org/pub/software/scm/git/1.创建jenkins安装目录进入该目录后下载jenkins。
2024-01-13 21:14:05
1309
1
原创 设计模式之单例模式
1.单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式2.单例模式主要解决了什么问题?资源利用率:对于那些需要频繁创建和销毁,且消耗系统大量资源的类,如数据库连接、线程池、全局缓存等,使用单例模式可以确保在整个应用中只存在一个实例,从而减少系统开销并提高资源利用效率一致性保证:当多个客户端共享同一份全局配置信息或状态时,通过单例模式可以确保所有对象都访问同一份数据源,避免因多次实例化导致的数据不一致问题。
2024-01-08 14:39:03
1381
原创 mybatis-flex与springBoot整合
1.flex同样也支持AR模式(Active Record),使用 Active Record 功能时,项目中必须注入对应实体类的 BaseMapper 对象。2.使用方式与mybatis-plus相同,只需让 Entity 类继承 Model 即可。测试连接:http://localhost:8080/emp/findById?注意官方网站为:https://mybatis-flex.com/这里和mybatis-plus的mapper层一样。这里和mybatis-plus一样。
2024-01-08 11:45:53
1619
原创 设计模式之开闭原则
对扩展开放,对修改关闭对扩展开放:意味着当系统需要增加新的功能时,可以在不修改现有代码的基础上进行扩展。通过提供抽象层和扩展点来实现新功能,而不是直接修改原有代码对修改关闭:已经完成并测试过的软件实体(类、模块、函数等)应该尽量避免被修改。一旦软件的一个部分被视为稳定且工作正常,就不应该对其源码做出改动以适应新的需求2.开闭原则到底解决了什么问题?应对需求变化:在软件开发过程中,产品经理的需求是难以完全预见的,因此代码需要具备良好的适应性来应对需求变更。
2024-01-07 13:44:50
1257
原创 java每日一记 —— BeanFactory 与 ApplicationContext 的区别
BeanFactory 与 ApplicationContext 的区别
2023-12-05 11:37:49
563
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人