![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java方面
文章平均质量分 79
java方面
越知越无知
任何学习都是这么一个过程,以点入面,不断地明白自己是多么无知和弱小,然后再不断地学习给与自己成就感,直到回首过去发现已经处于完全不同的高度。
展开
-
java代码整合kettle9.3实现读取表中的数据,生成excel文件
java代码整合kettle9.3,使用期api读取表中字段并生成excel文件原创 2023-02-13 15:28:41 · 1203 阅读 · 0 评论 -
java元注解
java元注解本文主要针对于java8,java8定义了6个标准元注解:@Target,@Retention,@Documented,@Inherited,@Repeatable和@Native。1.@Target注解。@Target注解的作用是:描述注解的使用范围(即被修饰的注解可以用在什么地方)。@Target注解源码:@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.ANNOTATION_TYPE)pub原创 2022-09-14 22:02:14 · 1162 阅读 · 0 评论 -
volatile关键字的作用
volatile关键字的作用1.java内存模型。如上图所示,所有线程的共享变量都存储在主内存中,每个线程都有一个独立的工作内存,每个线程不直接操作在主内存中的变量,而是将主内存上变量的副本放进自己的工作内存中,只操作工作内存中的数据。当修改完毕后,再把修改后的结果放回到主内存中。每个线程都只操作自己工作内存中的变量,无法直接访问对方工作内存中的变量,线程间变量值的传递需要通过主内存来完成。2.内存中的交互操作有很多,和volatile有关的操作为:read(读取):作用于主内存变量,把一个变量值原创 2021-02-10 15:55:51 · 276 阅读 · 1 评论 -
不同类型的常,变量在JVM中的存储位置和equals与==的区别
equals和==的区别1.简单了解JVM中内存分配1)JVM内存结构JVM的运行时数据区主要包括堆,栈,方法区和程序计数器,其中栈分为虚拟机栈和本地方法栈。A)程序计数器:简单来说程序计数器是当前线程所执行字节码的行号指示器,一个线程的执行是通过字节码解释器改变当前线程的计数器的值,来获取下一条需要执行的字节码指令,从而确保线程正确执行。每一个线程都有一个独立的程序计数器,程序计数器是线程私有的内存。B)栈:JVM中的栈有虚拟机栈和本地方法栈,我们常说的堆和栈中的栈是指虚拟机栈,下文所有原创 2021-01-20 16:52:11 · 322 阅读 · 0 评论 -
JAVA中this的作用
JAVA中this的作用this的用法1.当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量(this是当前对象自己)。public class Demo1 { String s="hello"; public static void main(String[] args) { Demo1 demo1=new Demo1("bye"); //验证成员变量值的改变 System.out.println(原创 2021-01-13 18:49:35 · 602 阅读 · 1 评论 -
java可变参数
java可变参数前言:函数是指定义在类中的一段可以独立运行的小程序,如方法,构造器等。1.java可变参数是指在调用方法时传入不定长度的参数,本质上是基于数组实现的。 //参数为可变参数 public static void element(Integer... args){ } //参数为数组 public static void element(Integer[] args){ }2.在定义方法时,在最后一个形参上加"…"就表示该形参可以接受多个参数值,多个参数值原创 2020-12-28 18:57:18 · 6394 阅读 · 3 评论 -
JAVA内存泄漏
JAVA内存泄漏1.介绍Java的一个重要特性是通过垃圾收集器(GC)自动管理内存的回收,而不需要程序员自己释放内存,理论上Java中所有不会再被使用的对象所占用的内存都可以被GC回收,但是Java还是存在内存泄漏。2.内存分配在Java程序中,我们通常使用new为对象分配内存,这些内存空间都在堆(Heap)上。例如:public class Demo1 { public static void main(String[] args) { Object object1 =原创 2020-12-21 19:23:38 · 250 阅读 · 0 评论 -
MQ方面
MQ方面1.mq的优势1)解耦:系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦!2)异步:将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度,提高性能。3)削峰填谷:并发量大的时候放入mq中,保证系统不会挂掉,高峰期过后在按照系统能接受的请求数量处理。2.mq的缺陷系统可用性降低,系统复杂性变高,一致性存在问题。3.如何保证mq高可用1)普通集群模式:实际queue保存在一个节点上,其他节点保存该 queue的元数据,消费者连接原创 2020-12-14 20:43:59 · 100 阅读 · 0 评论 -
JAVA中static关键词作用和用法
JAVA中static关键词作用和用法1.概述1)在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,静态就是指编译后所分配的内存会一直存在,知道程序退出内存才释放。在JAVA程序中,所有的东西都是对象,对象的抽象就是类,一般情况下要先实例化对象后通过对象引用成员,但是用static修饰的成员可以通过类名.成员名直接访问。2)被static修饰的成员变量和成员方法独立于该类的任何对象,不依赖于类特定的实例,可以被类的所有实例共享,并且只要这个类被加载,JAVA虚拟机就能根据类名在运行时数据原创 2020-11-26 20:43:07 · 272 阅读 · 0 评论 -
集合方面
集合方面面试题总结1.常用集合:Map和Collection接口是所有集合框架的父接口:1.Collection接口的子接口包括:Set接口和List接口2.Map接口的实现类主要有:HashMap,TreeMap,Hashtable,ConcurrentHashMap以及Properties等。3.Set接口的实现类主要有:HashSet,TreeSet,LinkedHashSet等。4.List接口的实现类主要有ArrayList,LinkedList,Statck以及Vector等。2.原创 2020-10-19 16:34:23 · 128 阅读 · 0 评论