随笔分类 -  java

摘要:假设在controller层new了一个service的类,然后调用类里面的方法,而service里面有@Resource了一个dao层的依赖。会发生什么呢? 由于service在容器刚开始的时候,没有使用到,即使service有组件注解类似@Service,但容器也不会注入service到容器。 阅读全文
posted @ 2024-09-03 15:17 zenghansen 阅读(17) 评论(0) 推荐(0) 编辑
摘要:1.Serial收集器一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。特点:CPU利用率最高,停顿时间即用户等待时间比较长。适用场景:小型应用通过JVM参数-XX:+UseSerialGC可以使用串行垃圾回收器。 2.Parallel收集器(java8默认)采用多线 阅读全文
posted @ 2023-02-16 17:00 zenghansen 阅读(183) 评论(0) 推荐(0) 编辑
摘要:补充学习一个知识点:泛型。这个概念是在集合中接触到的,因为当时学的有点懵,所以就没有立马写出来。 现在回过头来看,发现还是蛮简单的。 一、泛型的概念 先回顾下集合和数组的区别: 数组长度固定不变,可以存放任意数据类型,但存放的数据类型要一致。 集合长度可变,可以存放任意引用数据类型,但存储的数据类型 阅读全文
posted @ 2021-12-08 14:28 zenghansen 阅读(577) 评论(0) 推荐(0) 编辑
摘要:对于任何一门语言,要想达到精通的水平,研究它的执行原理(或者叫底层机制)不失为一种良好的方式。 在本篇文章中,将重点研究java源代码的执行原理,即从程序员编写JAVA源代码,到最终形成产品,在整个过程中,都经历了什么?每一步又是怎么执行的?执行原理又是什么? 一 编写java源程序 java源文件 阅读全文
posted @ 2021-11-29 11:20 zenghansen 阅读(1146) 评论(0) 推荐(0) 编辑
摘要:在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一片内存处理的方式都不同,所以要单独进 阅读全文
posted @ 2021-10-12 14:04 zenghansen 阅读(694) 评论(0) 推荐(0) 编辑
摘要:最近在用python开发一个项目,遇到了一个值传递和引用传递的问题。因为之前都是用php开发的多,而且php默认都是值传递,引用传递需要用&符号特殊标明,所以有一些疑问,如图: php下,引用传递,才会改变原对象的值。 可以看到,python下dict类型是引用传递,int类型是值传递。 java下 阅读全文
posted @ 2021-07-21 17:55 zenghansen 阅读(86) 评论(0) 推荐(0) 编辑
摘要:Nexus Nexus是Maven的仓库管理器,用来搭建一个本地仓库服务器,这样做的好处便于管理,节约网络资源, 速度快,可以通过SNAPSHOT版本控制,开进行模块间的高效依赖开发 关于Maven 中 jar 包的 Snapshot 和 Release 版本区别 概念 这两个概念是用于描述 jar 阅读全文
posted @ 2021-05-12 09:51 zenghansen 阅读(371) 评论(0) 推荐(0) 编辑
摘要:注解会被编译到.class文件里面去,并且类的实例class.Class会保存注解相关的内容,所以我们用反射也可以拿到其注解的信息。比如: // 判断@Report是否存在于Person类: Person.class.isAnnotationPresent(Report.class); 所以在注解的 阅读全文
posted @ 2021-04-29 16:37 zenghansen 阅读(87) 评论(0) 推荐(0) 编辑
摘要:反射 反射在每个面向对象的编程语言中都存在,它的主要目的就是在运行时分析类或者对象的状态,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。 反射是操纵面向对象范型中元模型的 API,可用于构建复杂,可扩展的应用。反射在日常的 Web 开发中其实用的不多,更多的是在偏向底层一些的代码中,比 阅读全文
posted @ 2021-04-29 11:31 zenghansen 阅读(63) 评论(0) 推荐(0) 编辑
摘要:动态代理主要解决一个问题:面向切面编程aop 如:日志、探针监控/mybatis的实现原理 动态代理原理一句话描述: 首先需要依赖一个interface,然后需要一个增强器hander,然后需要一个proxy根据素材去动态的实现这个接口。 interface:是动态代理的对象 hander:是怎么样 阅读全文
posted @ 2021-04-27 01:20 zenghansen 阅读(154) 评论(0) 推荐(0) 编辑
摘要:目录 一、JVM内存模型 1、堆 2、方法区 3、虚拟机栈 4、本地方法栈 5、程序计数器 二、类加载机制 三、类编译和Class 文件结构 1、魔数与Class文件信息 2、常量池 3、类索引、父类索引与接口索引 4、字段表 5、方法表 6、属性表 四、类加载 1、类初始化的时机 2、加载 3、验 阅读全文
posted @ 2021-04-22 17:04 zenghansen 阅读(233) 评论(0) 推荐(0) 编辑
摘要:CommandLineRunner、ApplicationRunner 接口是在容器启动成功后的最后一步回调(类似开机自启动)。 配合延时任务Timer,可以做到容器启动后执行脚本任务的效果: 下面的延时的详细说明 public static void timer2() { Timer timer 阅读全文
posted @ 2021-04-19 10:30 zenghansen 阅读(86) 评论(0) 推荐(0) 编辑
摘要:pom引入 <plugin><!--分块打包模式--> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.4.1</version> <execu 阅读全文
posted @ 2020-05-26 16:29 zenghansen 阅读(208) 评论(0) 推荐(0) 编辑
摘要:一、启动脚本start.sh #!/bin/sh isExist=`ps -ef | grep MonitorAndImprove | grep -v grep | awk '{print $2}'` if [ ! -z "$isExist" ]; then echo "process alread 阅读全文
posted @ 2020-04-28 18:07 zenghansen 阅读(2760) 评论(0) 推荐(0) 编辑
摘要:前言 首先回顾微服务的基本组成: 生产者:提供服务 消费者:消费服务 服务注册/发现中心:服务注册,发现,监控 所以,springcloud微服务的架构基础 :生产者(client),消费者(client),服务注册/发现中心(server) 项目git地址 https://github.com/z 阅读全文
posted @ 2020-03-26 19:49 zenghansen 阅读(1205) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示