JAVA
文章平均质量分 85
goyeer(工蚁)
生活在城市中的蚂蚁
展开
-
【Java基础】- RMI原理和使用详解
传输层管理实际的连接,并且追踪可以接受方法调用的远程对象。客户端只是调用Stub对象中的本地方法,Stub对象是一个本地对象,它实现了远程对象向外暴露的接口,也就是说它的方法和远程对象暴露的方法的签名是相同的。客户端认为它是调用远程对象的方法,实际上是调用Stub对象中方法,可以理解为Stub对象是远程对象在本地的一个代理,当客户端调用方法的时候,Stub对象会将调用通过网络传输给远程对象。一个虚拟机中的对象调用另一个虚拟机上中的对象的方法,只不过是允许被远程调用的对象要通过一些标志加以标识。原创 2023-09-14 22:43:42 · 1638 阅读 · 15 评论 -
【Spring Cloud系列】 雪花算法原理及实现
分布式高并发的环境下,常见的就是12306节日订票,在大量用户同是抢购一个方向的票,毫秒级的时间下可能生成数万个订单,此时为确保生成订单ID的唯一性变得至关重要。此时秒杀环境下,不仅要保障ID唯一性,还得确保ID生成的优先度。其实雪花算法每一部分占用的比特位数量并不是固定死的。例如你的业务可能达不到 69 年之久,那么可用减少时间戳占用的位数,雪花算法服务需要部署的节点超过1024 台,那么可将减少的位数补充给机器码用。原创 2023-09-09 21:26:42 · 2170 阅读 · 36 评论 -
【Java基础】 - 常用注解@SuppressWarings
java.lang.SuppressWarnings是J2SE5.0中标准的Annotation之一。可以标注在类,字段、方法、构造方法以及局部变量上。:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。value -将由编译器在注释的元素中取消显示的警告集。允许使用重复的名称。忽略第二个和后面出现的名称。出现未被识别的警告名不是错误:编译器必须忽略无法识别的所有警告名。但如果某个注释包含未被识别的警告名,那么编译器可以随意发出一个警告。原创 2023-08-25 08:37:42 · 1227 阅读 · 18 评论 -
【JAVA基础】 IO详解
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。既数据在两个设备之间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。Java IO既Java输入输出系统,即in和out,指应用程序和外部设备之间的数据传递,常见的外部设备包括文件、管道、网络连接。在编写程序时选择适合自己场景的字节流和字符流,及abstract的子类灵活使用。原创 2023-08-23 08:39:23 · 696 阅读 · 23 评论 -
【Java基础】Java对象的生命周期
Java生命周期中,对象基本上都是在jvm的堆区中创建,在创建对象之前,会触发类加载(加载、连接、初始化),当类初始化完成后,根据类信息在堆区中实例化类对象,初始化非静态变量、非静态代码以及默认构造方法,当对象使用完之后会在合适的时候被jvm垃圾收集器回收。读完本文后我们知道,对象的生命周期只是类的生命周期中使用阶段的主动引用的一种情况(即实例化类对象)。而类的整个生命周期则要比对象的生命周期长的多。原创 2023-08-16 08:38:12 · 1631 阅读 · 21 评论 -
【JAVA基础】- 同步非阻塞模式NIO详解
同步非阻塞的特点:应用程序的线程需要不断的进行IO系统调用,轮询数据是否已经准备好,如果没有准备好,就继续轮询,直到完成IO系统调用为止。同步非阻塞IO的特点:每次发起的IO系统调用,在内核等待数据过程中可以立即返回。用户线程不会被阻塞,实时性较好。不断地轮询内核,这将占用大量的CPU时间,效率低下。总体来说,在高并发应用场景下,同步非阻塞IO也是不可用的。一般Web服务器不适用这种IO模型。这种IO模型一般很少直接使用,而是在其他IO模型中使用非阻塞IO这一特性。原创 2023-08-11 08:48:17 · 3131 阅读 · 23 评论 -
【JAVA基础】- BIO介绍及其使用
BIO(Blocking I/O)是传统java io编程既同步阻塞IO,服务器实现模式为一个连接一个线程。客户端有连接请求时服务器端就会新起一个线程进行处理。当线程空闲时为减少不必要的线程开销,可以通过线程池机制改善。BIO方式适合用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限应用中。原创 2023-08-11 08:45:25 · 554 阅读 · 0 评论 -
【Java基础】- JVM之Dump文件详解
Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一个点状态的thread-dump的能力,虽然各个Java虚拟机打印的thread dump稍有不同,但是大部分提供了当前活动线程的快照及JVM中所有Java线程的堆栈跟踪信息,堆栈信息一般包含完整的类名及所执行的方法,如果可能还有源码的行数。如果某种类型的对象太多,那么有可能是引用它的那个类的对象太多;基本上一些简单页面的查询,结合原代码,就可以初步定位内存泄漏的地方;原创 2023-08-09 08:32:10 · 8739 阅读 · 23 评论 -
【Spring Cloud系列】- RestTemplate使用详解
RestTemplate是Spring自带的一个调用rest服务的客户端,它提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。在一般项目中完全可以替代HttpClient和OkHttp。在后续Spring cloud系列文章中会多次使用到。原创 2023-06-08 20:26:42 · 2369 阅读 · 17 评论 -
【Java基础】- HttpURLConnection详解
HttpURLConnection对象不能直接构造,需使用URL类中的openConnection()方法来创建实例。原创 2023-06-07 22:11:30 · 10694 阅读 · 16 评论 -
【JAVA基础】- JAVA中JDBC详解
JDBC(JAVA DataBase Connectivity)JAVA连接数据库一个技术规范。具体就是通过JAVA连接广泛的数据库,并执行对数据库的操作。通过JDBC技术与各类型数据库进行交互,使用Java语句发送SQL到数据库总,可以实现更安全进行各类数据库操作。可以更安全、高效的完成对数据库各类操作。JDBC是一种连接规范并不是实现类。此规范是有Sun公司提供一套完整的接口,各数据库厂商根据自身产品特点实现自己的产品类。具体的实现过程如下图类。原创 2023-05-18 21:55:25 · 276 阅读 · 1 评论 -
【JAVA基础】-JAVA开发中XML解析多种方法
读取并解析XML有上面4种方案,根据不同的应用场合,使用恰当的方法。DOM解析:一次性把XML文档内容加载到内存,构建Document对象。不适合读取大容量的xml文件;Dom解析可以随意读取,甚至往回读取;Dom解析可以实现增删改查;常用解析工具:Dom4jSAX解析:读取一点,解析一点。适合读取大容量的xml文件;从上往下逐点读取,不能往回读;SAX解析通常只读取文件,不能对文件进行操作;原创 2023-05-07 21:33:52 · 4195 阅读 · 0 评论 -
Java反射类 - Method类源码解析
Method提供了对于在类或接口中单个方法的信息和访问,反射方法可能是一个类方法或实体方法(包含抽象方法)。原创 2023-04-23 20:31:30 · 385 阅读 · 0 评论 -
【3W2H设计模式】单例模式
单例模式(Singleton Pattern)是创建型模式一种,是设计模式中最简单的设计模式之一。它提供了一种创建对象的最佳方式。这种模式是一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。原创 2023-03-05 22:24:21 · 172 阅读 · 0 评论 -
【JAVA系列】打包Class文件生成Jar包
最近接手供应商项目,公司需要对现在运行项目进行一些业务上的修改,但是供应商又不提供源码;作为打工人又不能拒绝领导的要求。作为一个混迹编程界的码蚁,这也不能难道我,随即想到,解压它JAR包,打包部分class做为中间件引用新项目,最后通过新项目完成对原来项目的构件,并顺利完成领导的要求。记录一下Class构建jar包的过程。原创 2023-03-31 08:27:04 · 1819 阅读 · 0 评论 -
【3W2H设计模式】- 原型模式
原型模式是创建者模式的一种,用于创建重复对象,且能保证性能。它提供了一种创建对象的最佳方式。原型模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。原创 2023-03-29 22:27:15 · 147 阅读 · 0 评论 -
【3W2H设计模式】-建造者模式(Builder Pattern)
建造者模式(Builder Pattern)是创建型模式的一种;创建者模式可以将部件与组装过程分开,一步一步创建一个复杂的对象。用户只需要指定复杂对象的类型就可以得到对象,而不需要知道其内部的具体构造细节。将一个复杂对象的构建与它的表示分离,使得统一的构建过程可以创建不同的表示原创 2023-03-26 11:49:16 · 190 阅读 · 0 评论 -
【3W2H设计模式】抽象工厂模式(Abstract Factory Pattern)
的一种,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。原创 2023-03-25 12:42:05 · 111 阅读 · 0 评论