Java

CentOS7 安装配置jdk

1.解压上传的jdk压缩包 2.移动解压后的目录到指定位置 3.配置环境变量 4.使配置文件生效 5.检查配置是否成功  

编译时注解处理器的一次使用经历

编译时注解处理器在《深入理解Java虚拟机》一书中有一些介绍(前端编译篇有提到),但一直没有机会使用,直到碰到这个需求,觉得再合适不过了,就简单用了一下,这里做个记录。------原文写于2021年2月8日。 一、需求 我们为公司提供了一套通用的JAVA组件包,组件包内有不同的模块,这些模块会被打成jar包,然后发布到公司的内部代码库中,供其所有人引入使用。 这份代码会不断的迭代,我们希望可以通

sql复习

第一章 第二件事情:数据库了解 1.学习前提条件--会一门语言 2.为什么学习数据库? 所有的电子设备操作核心----数据 编程语言如何进行数据处理: 1)--控制台打印数据 2) --变量 3 )---数组 4 ) ---Java---集合框架--临时

【Java】从头开始的Java复健day8

用的书:《Java从入门到精通》 day1(3.1-3.3): 【Java】从头开始的Java复健day1 day2(3.4-3.8): 【Java】从头开始的Java复健day2 day3(4.1-4.4): 【Java】从头开始的Java复健day3 day4(4.5-5.2): 【Java】从头开始的Java复健day4 day5(5.3-5.4): 【Java】从头开始的Java复健day

学习笔记 - Java 面向对象_上

学习面向对象内容的三条主线 Java 类及类的成员:属性、方法、构造器;代码块、内部类 面向对象的特征:封装、继承、多态、(抽象) 其他关键字的使用:this、super、package、import、static、final、interface 等 类的相关概念 类和对象概述 类(Class)和对象(Object)是面向对象的核心概念。 类:具有相同特征的事物的抽象描述,是抽象的,概念上的

记录--JS 的垃圾回收机制

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 垃圾回收(Garbage Collection)是一种内存管理机制,用于检测和清理不再被程序使用的内存,这些不再被使用的内存就被称为垃圾。垃圾回收器会在 JS 引擎(浏览器或者 nodejs)内部周期性地运行,一般情况下无需开发者手动操作。 但是,了解垃圾回收机制的工作原理有助于我们写出更加高效的 JS 代码,使 JS 引擎

java反射和泛型测试

 java反射和泛型测试     翻译 搜索 复制

阿里云故障洞察提效 50%,全栈可观测建设有哪些技术要点?

本文根据作者在「TakinTalks 稳定性社区 」公开分享整理而成 #一分钟精华速览# 全栈可观测是一种更全面、更综合和更深入的观测能力,能协助全面了解和监测系统的各个层面和组件,它不仅仅是一个技术上的概念,更多地是技术与业务的结合。在“以业务为导向”的大前提下,全栈可观测正在成为趋势。 本文分享了阿里云可观测平台服务作为全球分布的超大业务系统,同时也作为服务全球企业用户的可观测平台提供方,在故

(随笔)龟兔赛跑(多线程调用同一资源时一个线程结束时其他线程保持运行)

问题:当其一线程结束运行后其他线程保持运行而非结束 现象:控制台会输出两次the winner is:xxx 代码如下 回答:当一个线程结束后,另一个线程并不会立即结束的原因是,gameOver()方法返回true时,循环会继续执行。即使一个线程已经达到了step == 200的条件,另一个线程仍然可以继续打印输出。 解决方法:通过共享的标志变量来控制两个线程的结束。可以将标志变量放在TextT

vue吸取图片主题色---ColorThief

npm i --save colorthief 如果报错:The canvas has been tainted by cross-origin data.说明跨域了,需要给图片设置属性:crossorigin="anonymous"

spring注入bean错误-Bean named 'abc' is expected to be of type 'AAA' but was actually of type 'BBB'

先看如下两个注入到spring容器中的bean, 一个是 UserNewManager, 一个是 UserManager。 再看下面的testcase,利用@Resource注解来注入bean。 在运行test方法时,会抛异常: org.springframework.beans.factory.BeanCreationException: Error creating bean wi

Feign + Sentinel 流控、降级、热点

一、Docker 1、docker-compose 2、启动 二、Java 1、yml 三、Sentinel几种控制方式 (一)直接   (二)关联   (三)链路  

今天遇到的bug总结

1、BindingException: Parameter 'name' not found. Available parameters are [employee, param1] 这是我在使用xml文件编写SQL语句,来新增员工时遇到的报错,写着找不到参数"name",应该写做employee.name,后发现是我在mapper的int save(Employee employee)方法中写了

命令提示符窗口创建VScode

1、选中文件夹地址栏输入cmd,点击Enter(回车键)进入命令提示符窗口。  2、输入VS code的创建命令 vue create 项目名称,回车。 3、进入vue图形化界面,选中手动选择功能,回车。 4、手动选择需求 Babel:vue项目中普遍使用es6语法,当项目需要兼容低版本时就需要引入babel插件 TypeScript:TypeScript通过添加类型来扩展J

关于Duubo和Rpc的理解

一.什么是Dubbo,什么是RPC? Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。 RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底>层网络技术的协议。 1.远程调用就是本地机器调用远程机器的一个方法,远程机器返回结果的过程。 2.现在流行的R

java垃圾回收(GC)

java和c++最大的不同点之一即中无需程序员去关注程序的内存管理,因为jvm提供了垃圾回收机制来保证内存的管理和回收。   jvm如何确定回收对象 引用计数法: 该方法当前jvm并未采用,仅作简单介绍,类似于c++智能指针,提供对象的引用计数器判断对象是否活跃,但是无法解决两个对象循环引用问题。 可达性分析算法: 通过判断对象的引用链是否可达来决定对象是否可以被回收。可达性分析算法是从

C# 的数据类型

在C# 中,变量主要分为三种类型:值类型,引用类型,指针类型 1、值类型 值类型变量可以直接分配给一个值,直接包含数据(如 int、char、float,它们分别存储数字、字符、浮点数) 特点:当声明一个值类型时,系统分配内存来存储值 C# 中可用的值类型: Java中有 8 大基本类型,C#中都含有,就是 bool 与 boolean 书写不同,主要分为整数、小数(浮点)、字符、布尔

对于Java中String的简单理解

String的三种初始化方式     关于String变量所需要注意的地方   String变量的本质:在堆上申请一块空间创建字符串,并让指针指向这块空间。 String变量发生改变(赋值),原指向的字符串空间不会被释放,而是重新申请一块空间创建字符串,并让指针指向这块空间。由于Java拥有自动内存管理机制,因此在程序运行结束或堆空间不足时会自动释放没有被引用的字符串空间。

2023.3 Idea配置Tomcat环境

tomcat配置 下载tomcat 先到官网(👈按住Ctrl再左键点击直接打开官网)下载64位的tomcat,网速慢就用魔法下 创建项目、模块 打开idea(我用的是最新的idea的专业版,ui有点变化其他的基本大差不差,注意如果是社区版就没有内置对tomcat的支持,需要下个插件smarter tomcat来解决),先创建一个普通的Java项目 右键项目名新建一个模块 在弹出的界面填好模块

k8s基础

1. 什么是 k8s  操控多个容器运行项目,比如 docker ; 2. 为什么需要 k8s  传统部署:tomcat (服务器),java 包打包 到 tomcat ;然后访问程序 ; 虚拟部署:虚拟机里面部署 tomcat ,然后把java包放到 tomcat 里面;资源占用较多;新建了一个操作系统,不和宿主机公用一个操作系统; 容器部署:docker ,也是虚拟机,但是

JVM调优(十七)JVM常见调优问题和工具的使用

JVM调优(十七)JVM常见调优问题和工具的使用 说辞 熟悉GC常见算法 熟悉常见的垃圾回收器,具有实际JVM调优经验 1 什么是调优 根据需求进行JVM优化和预调优 优化JVM的运行环境(慢、卡顿) 解决JVM运行过程中出现的各种问题(OOM) 2 JVM常用调优命令 jps:JDK自带,全称java process,列出系统中运行的所有java进程 jinfo:JDK自带,j

面向对象开发的继承

  继承 :在面向对象的编程中,有两种截然不同的继承类型:实现继承和接口继承。 实现继承:表示一个类型派生于一个基类型,它拥有该基类型的所有成员字段和函数。在实现继承,派生类型采用基类型的每个函数的实现代码,除非在派生类型的定义中指 定重写某个函数的实现代码。在需要给现有的类型添加功能,或许多相关的类型共享一组重要的公共功能时,这种类型的继承非常有用 接口继承:表示一个类型只继承了函数的

javaSpring之AOP

1.什么是AOP 翻译中文为:面向切面编程,可以让你在业务代码与非业务代码隔离,增加新的非业务代码 2.AOP使用场景 1.我一直遵循着存在即合理的观念,在各大需求中,有一种需求是每当操作时,就会在数据库记录日志,那么在不更改业务代码的情况下应该怎么做,没错,AOP可以解决 2.当然,其也可以做权限校验等业务需求 3.AOP的延续就是事务管理 3.AOP的结构 结构图: 其主要分为: Asp

.net与c#之间的关系

C#、.NET之间的关系 一、C# 定义   全称(C sharp),C#是由C和C++衍生出来的一种安全的、稳定的、简单的、优雅的面向对象编程语言。是一种编程语言,可以开发基于.net平台的应用。 C#的特点 1、语法简洁:C#语法类似于C++与Java,并进行了简化,只保留了常见的形式。 2、面向对象:C#采用面向对象设计思想,它将复杂的问题分解为一个个能够完成独立功能的性对简单的对象的集合。

【转载】JUC常见面试题:Java线程和操作系统线程有什么区别

【转载】JUC常见面试题:Java线程和操作系统线程有什么区别 整理来自于:https://cloud.tencent.com/developer/article/1818151 1 操作系统的用户态和核心态 在操作系统中,内存通常会被分成用户空间(User space)与内核空间(Kernel space)这两个部分。当进程/线程运行在用户空间时就处于用户态,运行在内核空间时就处于内核态:

手写raft(二) 实现日志复制

1. Raft日志复制介绍 在上一篇博客中MyRaft实现了leader选举,为接下来实现日志复制功能打下了基础: 手写raft(一) 实现leader选举 日志复制是raft最核心也是最复杂的功能,大体上来说一次正常的raft日志复制大致可以简化为以下几步完成: 客户端向raft集群发送一次操作请求(比如kv数据库状态机的写命令(set k1 v1)),如果接受到请求的节点是leader则受

【RocketMQ】MQ消息发送总结

RocketMQ是通过DefaultMQProducer进行消息发送的,它实现了MQProducer接口,MQProducer接口中定义了消息发送的方法,方法主要分为三大类: send同步进行消息发送,向Broker发送消息之后等待响应结果; send异步进行消息发送,向Broker发送消息之后立刻返回,当消息发送成功/失败之后触发回调函数; sendOneway单向发送,也是异步消息发送,向B

使用 Sahi 实现 Web 自动化测试

Sahi 是 Tyto Software 旗下的一个基于业务的开源 Web 应用自动化测试工具。Sahi 运行为一个代理服务器,并通过注入 JavaScript 来访问 Web 页面中的元素。Sahi 支持 HTTPS 并且独立于 Web 站点,简单小巧却功能强大。它相对于 Selenium 等自动化测试工具,在动态 ID 元素查找和隐式页面等待处理等方面具有一定的优势。选择 Sahi 工具来实现

jedis的使用

Jedis基本使用 导入依赖 案例 Jedis连接池 Jedis本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,因此应该使用线程池代替Jedis的直连方式 SpringDataRedis 导入依赖 yml配置信息 编写测试 配置RedisTemplate的序列化,这样会自动将对象序列化成json字符串,但是这样的话会占用大量的内存空间,因为自动序列

redis的基本命令

通用命令 keys pattern 查看符合要求的所有key del (key) [key ...] 删除一个指定的key exists 判断key是否存在 expire 给一个key设置有效期,单位是秒,有效期到时该key会被自动删除 (返回-2就是自动删除了) ttl 查看一个key的剩余有效期 help [命令] 查看该命令的用法 String类型 set key value 添加一

<<  <  794  795  796  797  798  799  800  801  802  803  804  >  >>