Java

JVM垃圾回收GC

1.如何判断一个对象是否可以回收/死亡对象判断方法 (1)引用计数算法:   给对象添加一个引用计数器,当对象增加一个引用时计数器加1,引用失效时计数器减 1。引用计数为0的对象可被回收。   两个对象出现循环引用的情况下,此时引用计数器永远不为 0,导致无法对它们进行回收。正因为循环引用的存在,因此 Java 虚拟机不使用引用计数算法。 (2)可达性分析算法:   通过 GC Roots 作为起

自动映射机制

在Mybatis中,如果数据库字段名和Java属性名是相同的情况下,Mybatis会自动将数据库的值自动匹配到Java类的属性(忽略大小写)中,如果Java属性是以驼峰格式命名的,则需要需要开启mybatis的驼峰命名规范自动映射 如果数据库字段名和属性无法匹配时可以在mapper.xml文件中使用resultMap标签进行手动映射,此时自动映射机制就会失效

Java设计模式-建造者模式

简介 建造者模式是一种创建型设计模式,用于将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通过将复杂对象的构建过程分解为多个简单的步骤来实现。 与其他创建型模式不同,建造者模式强调的是将构建过程与表示分离,而不是将对象与其构建方式分离。这使得建造者模式在需要创建多个相似对象时非常有用,因为可以通过重用相同的构建过程来创建不同的对象表示。 建造者模式与工厂模式和抽

Day01

Markdown学习 标题 三级标题 四级标题   字体 Hellow,World! Hellow,World! Hellow,World! Hellow,World! 引用 选择狂神说java,走向人生巅峰   分割线       图片     超链接 点击跳转到狂神博客     列表 A

Java 双指针项目中的实际应用

背景说明 最近在做财务相关的系统,对账单核销预付款从技术角度来看就是将两个数组进行合并 对账单核销预付款前提条件: 对账单总金额必须等于未核销金额 数据示例 对账单数据 单号 金额 B0001 100 B0002 80 B0003 120 预付款数据 单号 未核销金额 PRE001 110 PRE002 190 结果数据 预付款单号

23.4.24前学习笔记

可通过document.documentElement.scrollTop=0控制返回页面顶部   scrollTo方法  window.scrollTo(x,y)//控制页面移动到哪     页面尺寸事件   window.addEventListener('resize',function(){      &nbs

vue安装时报错npm ERR! Could not resolve dependency: npm ERR! peer…

报错原因 在新版本的npm中,默认情况下,npm install遇到冲突的peerDependencies时将失败。 解决办法 使用--force或--legacy-peer-deps可解决这种情况。 --force 会无视冲突,并强制获取远端npm库资源,当有资源冲突时覆盖掉原先的版本。 --legacy-peer-deps:安装时忽略所有peerDependencies,忽视依赖冲突,采用np

Linux -- 基础

Linux目录结构 /:Linux中没有盘符,根目录为"/" /bin:存放系统命令的目录,所有用户都可以执行. /sbin:保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。 /home:用户缺省宿主目录 添加新用户 home会有对应用户的文件夹 /etc:系统配置文件 /dev:存放设备文件 网卡 声卡 显示 CD 打印机 /mnt:挂载目录。临

Redis定长队列设计与实现

业务背景: 只展示最近10条礼物打赏动态,用户名+礼物名称 不管在app端还是在web端,或多或少都有这样的需求,所谓技术方案的选型都是受限于实际的业务场景的,都是以解决实际业务为目的,由于刚开始这样的需求还是比较少的,所以采用了简单的方式实现了功能,但是随着业务扩大,重复的也会很多,再写一套代码就显得很臃肿了 ,所以将这类业务进行抽象封装。 如上图实时展示了最近打赏的动态,通过这些来刺激消费和

Spring源码:Bean生命周期(三)

前言 在之前的文章中,我们已经对 bean 的准备工作进行了讲解,包括 bean 定义和 FactoryBean 判断等。在这个基础上,我们可以更加深入地理解 getBean 方法的实现逻辑,并在后续的学习中更好地掌握createBean 方法的实现细节。 getBean用法 讲解getBean方法之前,我们先来看看他有几种常见的用法: 关于获取 bean 的方法,前两种方法应该比较常见,这

程序员面试金典---21

最小差 思路: 先将两个数组升序排序,然后使用双指针逐个进行比较。 最大数值 思路: 数学上,两个数最大的那个为: [max(a,b) = (|a-b| + a + b) / 2 ]

Java读取数据库表(二)

Java读取数据库表(二) application.properties 辅助阅读 配置文件中部分信息被读取到之前文档说到的Constants.java中以常量的形式存储,BuildTable.java中会用到,常量命名和上面类似。 StringUtils.java 辅助阅读 org.apache.commons.lang3.StringUtils.isEmpty() 只能判断String

命令行编译和执行java代码

虽然现在IDE很强大又很智能,但是平常随意写点练手的代码的时候,直接在命令行中使用vim和java命令更为方便快捷,可以做到无鼠标纯键盘的操作。 首先保证将java相关指令添加到了环境变量中; 1.编译class文件: 编译好的class文件会放置到环境当前目录 (./)中。-d命令的作用是:如果在java文件中定义了package,那么会在当前目录按照package包建立层级的文件夹,例如

20基于java的科研管理系统设计与实现

背景及意义 目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通过标签分类管理等方式,实现教研的各种功能,从而达到对科研管理系统的管理。 科研项目管理系统,以项目化管理为思想,以现实中管理制度为核心,对科研

DDD领域设计基本概念

什么是DDD DDD(领域驱动设计)是一种处理高度复杂领域的设计思想,是一种架构设计方法论,是一种设计模式。以高内聚低耦合为目的,把一个复杂的软件应用系统中各个部分进行一个很好的拆解和封装,对软件系统进行模块化的一种思想。DDD不仅可以用于微服务设计,还可以很好地应用于企业中台的设计,也适用于传统的单体应用。     领域模型是什么? 领域模型是关于某个特定业务领域的软件模型

消息推送平台终于要发布啦!

我的开源项目消息推送平台Austin终于要上线了,迎来在线演示的第一版! 🔥项目在线演示地址:http://139.9.73.20:3000/ 消息推送平台🔥推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型。 https://gitee.com/zhongfucheng/austin/ https://github.com/ZhongFuCheng3y/au

Feign调用报错status 404

feign调用报错status 404 使用feign,报错:FeignException: status 404。如下: Debug 跟踪查看方法栈中的方法,报错代码 SynchronousMethodHandler类的 executeAndDecode()方法 如下: 可以看到 发送了一个请求,获取响应。可以在 response = this.client.execute(request,

JAVA8新特性

JAVA8新特性 Lambda表达式 只有函数式接口才能使用Lambda表达式 ​ Lambda表达式是JDK8中的一个语法糖,它可以对某些匿名内部类的写法进行简化,它是函数式编程思想的一个重要体现,让我们不用关注是什么对象,而是更关注我们对数据进行了什么操作。 核心原则 ​ 可推导可省略 基本格式 示例 1、 结果: 2、 结果: Lambda核心是通过实现函数式接口的方法来完

java基于springboot+vue的宿舍管理系统、学生宿舍管理系统、高校宿舍管理系统,附源码+数据库+文档+PPT

1、项目介绍 java基于springboot+vue的宿舍管理系统、学生宿舍管理系统、高校宿舍管理系统,实现管理员:首页、个人中心、公告信息管理、院系管理、班级管理、学生管理、宿舍信息管理、宿舍安排管理、卫生检查管理、报修信息管理、报修处理管理、缴费信息管理,学生;首页、个人中心、公告信息管理、宿舍安排管理、卫生检查管理、报修信息管理、报修处理管理、缴费信息管理等功能。 项目获取,看这里 2、

springboot实现事务注解

一、介绍 仿造spring中的@Transactional注解实现简易版的事务。通过spring中的aop拦截所有带自定义事务注解的方法去实现事务的控制。 二、步骤 创建一个自定义事务注解CustomTransactional.java 事务注解切面拦截类CustomTransactionalInterceptor.java 创建一个TransactionStatus上下文类 新

闭包

闭包是一种保护私有变量的机制,在函数执行时形成私有的作用域,保护里面的私有变量不受外界干扰,直观的说就是形成一个不不销毁的栈环境。 //闭包 var add = () { var count = 0; return () { return ++count; }; }(); print(add()); print(add()); pr

springboot 切面注解方式 记录日志

1.定义GateOpLog   2.定义切面,Pointcut指向GateOpLog   3.Controller的接口中使用    测试,在调用Controller的接口时,会先执行 记录日志 的切面方法  

Uncaught Error: Objects are not valid as a React child (found: object with keys {content, key, duration}). If you meant to render a collection of children, use an array instead(转)

转自:react报错 Uncaught Error: Objects are not valid as a React child (found: object with keys {a} ... 报错信息分析 Uncaught Error: Objects are not valid as a React child (found: object with keys {content, key,

SpringBoot导出Word文档的三种方式

SpringBoot导出Word文档的三种方式 一、导出方案 1、直接在Java代码里创建Word文档,设置格式样式等,然后导出。(略) 需要的见:https://blog.csdn.net/qq_42682745/article/details/120867432 2、富文本转换后的HTML下载为Word文档。相当于把HTML转为Word导出 3、使用模板技术导出。固定格式、可以

8 08|法则三:架构师如何在一定时间内最大化自己的增量价值?

你好,我是郭东白。上节课我们讲了架构活动中需要重视对商业价值的考量。作为一个架构师,必须要创造足够的商业价值,才能保障自己职业的长期。 那么你作为架构师,该如何为你的公司、部门或团队提供可量化的增量价值呢?主要有扩大收入与减少成本两种路径。今天这节课,我们就结合几个真实的案例来具体分析一下。 如何寻找扩大收入的机会? 有的架构师不关注软件之外的事情,比如很少关心公司或部门的收入。这种性格虽然可以让

为了弄清起点小说如何算字扣钱,我特意注册了作家账号

闲来无事,想起这些年也算给起点贡献了不少流量和金钱。 在起点的会员订阅规则里,如下图所示,重点关注2,3和6点,一个是怎么算钱的,一个是怎么算字数的。 计费跟字数相关,归根结底,都是怎么算钱的事儿。 1. 怎么算字数 “作品字数以起点计数系统为准。” 起点没有公布计数系统的统计标准。所以就有了本文,我们来猜一猜嘛。 在书架上随手找了一本之前订阅过的书,找了章公众章节。 如下所示,共858字。

js语法学习

1. 另一个例外是NaN这个特殊的Number与所有其他值都不相等,包括它自己: 2. 变量在JavaScript中就是用一个变量名表示,变量名是大小写英文、数字、$和_的组合,且不能用数字开头。变量名也不能是JavaScript的关键字,如if、while等。申明一个变量用var语句,比如   3. strict模式 不使用 var声明的变量默认为全局变量,不同

UML类图——类之间的关系

关联关系(实线箭头) 是一种结构化关系,表示一类对象与另一类对象之间有联系。Java,c++,c#等编程语言在实现关联关系时,通常将一个类的对象作为另一个类的属性 聚合关系(带空心菱形的实线箭头) 表示一个整体与部分之间的关系,在聚合关系中成员类是整体类的一部分,即成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在 Engine是Car的一部分,但是Engine可以脱离C

moment指定时间

1.startOf(  )设置开始时间 moment().startOf('day').subtract(15,'d)//指定前15天的日期 moment().startOf('day') 2.endOf(  )设置结束时间 moment().endOf('day').add(1,'d')// 指定后一天的日期 moment().endOf('hour')   

<<  <  1317  1318  1319  1320  1321  1322  1323  1324  1325  1326  1327  >  >>