java
文章平均质量分 80
tomjourney
积善之家 必有余庆
展开
-
关于mysql jdbc驱动fetchSize属性的说明
当数据库有大量数据满足查询条件时,如有100w,这些如果一次性加载到jvm(java查询客户端),可能存在jvm因堆内存不足导致oom;为了解决这个问题,我们在查询时可以设置fetchsize属性,即提示jdbc驱动程序每次网络请求从数据库返回的数据行数;若结果集很大超过fetchsize大小,则jdbc驱动程序需要向数据库服务器发起多次网络请求;表示同一个查询连接上,jvm向db发送的每次网络请求仅返回一行数据;如果满足条件的数据量是1000条,则需要1000次网络连接;原创 2024-10-20 16:29:04 · 515 阅读 · 0 评论 -
(转)java术语(PO/POJO/VO/BO/DAO/DTO)
POJO的定义是无规则简单的对象,在日常的代码分层中pojo会被分为VO、BO、 PO、 DTOVO (view object/value object)表示层对象1、前端展示的数据,在接口数据返回给前端的时候需要转成VO2、个人理解使用场景,接口层服务中,将DTO转成VO,返回给前台B0(bussines object)业务层对象1、主要在服务内部使用的业务对象2、可以包含多个对象,可以用于对象的聚合操作。转载 2023-03-15 15:17:02 · 192 阅读 · 0 评论 -
java异步线程内存可见性实验
【README】本文演示了内存可见性的场景,以及解决方法;内存可见性定义:一个线程修改了对象状态后, 其他线程可以看到修改后的结果;【1】内存可见性问题例子【1.1】测试用例public class TestVisibility { public static void main(String[] args) { Robot robot = new Robot(); new Thread( ()->{原创 2022-02-13 20:35:33 · 336 阅读 · 0 评论 -
Java三种代理模式-静态代理,动态代理和cglib代理
【README】本文阐述了3种代理模式的定义,并编写了代码测试案例;代理其实是一种设计模式,可以在访问目标对象的方法上下文添加处理逻辑(扩展目标对象的功能),是 切面编程的基石;【举个例子】 抖音直播带货就是一种代理模式;主播代理了工厂对象,提供了购买商品的方法;主播可以下调商品价格(因为走量),类似于在购买商品方法上文添加了逻辑;主播可以赠送其他商品,类似于在购买商品方法下文添加了逻辑;【代理模式URL】1.定义一个带有代理方法的接口;2.定义目标对象实现这个接口;原创 2022-01-25 23:13:37 · 608 阅读 · 0 评论 -
java内部类小结
【README】1,本文总结了java4种内部类,包括成员内部类:在外部类内部定义的非静态类;成员内部类不能独立存在,如UML中的组合; 静态内部类:在外部类内部定义的静态类;静态类与外部类关系密切,但可以独立存在,如UML中的聚合; 局部内部类:在方法内部定义的内部类;其作用域在方法内部; 匿名内部类:顾名思义,没有名字的内部类,通常用于实现接口,没有自定义构造器;;2,本文给出了 相关的测试用例;3,内部类的作用 1,内部类有自己的实现,有助于外部类实现多继承;1个外部类里面定义原创 2021-11-21 08:30:07 · 551 阅读 · 0 评论 -
java序列化与深度拷贝
【README】1, 为啥要序列化或序列化的意义? 2,系统间调用的报文格式,大多数是Json字符串(或字节数组);接收方接收json; 3,但当系统调用如RMI,客户端请求服务器获取一个 javabean对象的状态信息,而不是json格式,这个时候 json格式就不合适了;当然了,在发送时我们可以 把 javabean的状态信息的属性转为json;接收时把json对象转为 javabean;很显然,这样太复杂了,而且不利于维护,一旦 javabean的属性做修改,需要改的代码太多; 4,基于此,原创 2021-11-20 21:34:38 · 1208 阅读 · 0 评论 -
java语法糖
【README】1,本文翻译自 wikipedia ,为了解 语法糖定义;2,本文还扩展性的引入了 java语法糖例子;【1】语法糖定义 from wikipediarefer2 https://en.wikipedia.org/wiki/Syntactic_sugar在计算机科学中,语法糖是一种编程语言中的语法,旨在使事物更易于阅读或表达(或使程序员的工作更加容器)。它使语言更适合人类使用:可以更清晰、更简洁地表达事物,或者以某些人可能更喜欢的另一种风格表达。例如,许多编程语原创 2021-11-20 08:17:08 · 609 阅读 · 0 评论 -
用枚举enum实现单例
用枚举enum实现单例原创 2021-11-19 23:13:17 · 1661 阅读 · 2 评论 -
java阻塞队列小结
【README】1,本文介绍了java的7个阻塞队列;2,阻塞队列的作用做缓冲作用,如缓冲kafka消息,而不是直接发送给kafka,减少kafka集群的压力;【1】阻塞队列 BlockingQueue1,队列是一种数据结构,先进先出;2,阻塞队列的意思是:当阻塞队列为空时,线程1从其中取出元素会阻塞;直到其他线程向阻塞队列添加了新值;但阻塞队列满时,线程1向其中添加元素会阻塞;直到其他线程从阻塞队列取走了值;3,阻塞队列封装了 线程阻塞,线程唤醒的底层方法,不需要程序员原创 2021-11-18 20:57:28 · 1327 阅读 · 0 评论 -
转:Java 7 种阻塞队列详解
转自:Java 7 种阻塞队列详解 - 云+社区 - 腾讯云队列(Queue)是一种经常使用的集合。Queue 实际上是实现了一个先进先出(FIFO:First In First Out)的有序表。和 List、Set ...https://cloud.tencent.com/developer/article/1706970...转载 2021-11-15 23:22:42 · 400 阅读 · 0 评论 -
javaI/O流小结
【README】1.本文总结java IO读取或写入数据的方式和相关类说明;2.java IO建立在流之上的。输入流读取数据,输出流写入数据;3.过滤器流-filter stream,可以串连(修饰)到输入流和输出流上;4.补充:补充1:java流操作数据的单位是字节; 补充2:流是同步的。 当程序请求一个流读写一段数据时,在做操作前,它要等待读写的数据到达或可用; 补充3:javaIO的实现方式还包括通道和缓存区的非阻塞IO;5.阅读器reader或书写器writer,可以串链到原创 2021-10-31 13:07:38 · 437 阅读 · 1 评论 -
转:json与map互转
转自:java中字符串,json,Map互相转换(各种转换都有)_蜗牛驿站-CSDN博客_java json转map前提:使用jar包为fastjsonimport com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;程序如下: Map map = new HashMap(); map.put("AAA", "1"); map.put("BBB", "2"); ...https...转载 2021-10-27 09:51:08 · 941 阅读 · 0 评论 -
(转)java动态代理与aop
转自: Java 动态代理与AOP - 如果的事 - 博客园动态代理与AOP 代理模式 代理模式给某一个目标对象(target)提供代理对象(proxy),并由代理对象控制对target对象的引用。 模式图: 代理模式中的角色有: 抽象对象角色(Abstrachttps://www.cnblogs.com/chenny7/p/11201010.html...转载 2021-10-07 12:13:47 · 225 阅读 · 0 评论 -
java运行环境变量及自定义变量
【README】本文主要介绍java运行环境变量的获取,如何读取 env.properties 文件并将自定义变量写入到系统变量;【1】System.getenv() 获取环境变量public static void main1() { Map<String, String> envMap = System.getenv(); envMap.entrySet().forEach(x-> System.out.println(x.getKey()原创 2021-09-30 23:04:13 · 2134 阅读 · 0 评论