Java

面试官:说说volatile底层实现原理?

在 Java 并发编程中,有 3 个最常用的关键字:synchronized、ReentrantLock 和 volatile。 虽然 volatile 并不像其他两个关键字一样,能保证线程安全,但 volatile 也是并发编程中最常见的关键字之一。例如,单例模式、CopyOnWriteArrayList 和 ConcurrentHashMap 中都离不开 volatile。 那么,问题来了,

项目需要实现国际化?不妨来试试它

之前造了一个多语言国际化的轮子,第一个版本UI的体验感不是太好,用blazor重新实现了一个UI,体验感应该还算不错。 LinguaNex LinguaNex是一个多语言连接中心,主打一个一处配置多语言,多处使用的想法。让项目方便快捷实现国际化(多语言)。 可配关联项目,主项目关联其他项目即可获取其他项目的多语言资源,相同Key则优先取主项目中的资源(即覆盖)。 批量导入已存在项目多语言资源。

vue中draggable使用记录

NPM或yarn安装方式 yarn add vuedraggablenpm i -S vuedraggable UMD浏览器直接引用JS方式 <script src="https://www.itxst.com/package/vue/vue.min.js"></script><script src="https://www.itxst.com/package/sor

整数与浮点数类型运算与转换

核心点 由于Java是最强类型语言,所以要进行有些运算的时候,需要用到类型转换 低-------------------------------------------------------------------->高 byte,short,char -> int -> long - > float -> double 按字节大小排序不同类型运算兼容顺序 这

Java常用命令:jps、jstack、jmap、jstat(带有实例教程)

【JVM】jstat命令详解---JVM的统计监测工具   转载 java进程的PID获取命令:   =========================================================== 1.jstat命令简介   jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。   命令的格式如下:     jstat [-命令选项] [

Windows11安装JDK8

1:Windows安装JDK8 1-1:双击运行jdk-8u381-windows-x64.exe 1-2:下一步 1-3:下一步 1-4:下一步 1-5:安装完成 2:配置环境变量 2-1:文件资源管理器->右键此电脑->属性 2-2:高级系统设置->环境系统变量 2-3:在系统变量里新建 2-4:Path变量中新增 点击确定 2-5:win+r运行c

原型模式 (设计模式)

对于熟悉JavaScript 语言的前端程序员来说,原型模式是一种比较常用的开发模式,即使JavaScript 引入了类的概念,但它也知识基于原型语法糖而已。 不过如果你使用的是java  C ++ 你就很少使用原型模式。  原型模式的原理和应用:  如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段相同)在这种情况下可以使用原型模式。 为和对象的

Livewire 和 Alpine.js比较

Livewire 和 Alpine.js 是两个在构建交互式 Web 应用程序时常用的工具,它们在一些方面有相似之处,但也有一些关键区别。 Livewire 基于 Laravel:Livewire 是 Laravel 的一部分,与 Laravel 框架紧密集成,使得开发者可以使用 Laravel 的语法和功能来构建动态页面。 服务器端渲染:Livewire 是基于服务器端渲染的,它使用 P

vue3笔记 computed计算属性

计算属性有缓存的,方法没有缓存   下列的计算案例是只读的,不可修改的  上述代码为只读属性,优化后 <script setup lang="ts"> import { ref, computed } from 'vue' let name = ref("zhang") let xing = ref("sang") console.log(name.value) l

zookeeper的znode节点过多无法通过zkCli.sh移除节点

背景描述:zookeeper的一个目录下的znode节点过多,导致在执行ls 和rmr命令的时候,直接终止会话退出,无法递归删除下面的子节点,具体情况如下(生产环境的zookeeper是clickhouse的元数据管理集群,有一个故障是clickhouse副本同步堆积问题),接下来的操作需要知道这个子节点中的znode有序节点是怎么命名的,一般都是‘节点名称-000000xxxxxx’,由于无法获

vue中失去焦点判断

在Vue中,你可以通过监听blur事件来判断一个元素是否失去了焦点。blur事件会在元素失去焦点时触发。以下是一个简单的例子,展示了如何使用Vue来检测输入框是否失去了焦点: html Input has lost focus. 在这个例子中,我们有一个数据属性isBlurred来跟踪输入框是否失去了焦点。当输入框失去焦点时(即blur事件被触发),handle

jsp自定义标签

一、自定义标签的作用   自定义标签主要用于移除Jsp页面中的java代码。 二、自定义标签开发和使用 2.1、自定义标签开发步骤    1、编写一个实现Tag接口的Java类(标签处理器类)   2、在WEB-INF/目录下新建tld文件,在tld文件中对标签处理器类进行描述   

Vue学习笔记25--过滤器(日期格式化)

日期格式化 日期格式化插件: https://www.bootcdn.cn/ moment.js、day.js(轻量级moment.js) 插件用法:双击day.js==>复制链接并访问==》另存为dayjs.min==》项目中引用 https://github.com/iamkun/dayjs/blob/dev/docs/zh-cn/README.zh-CN.md 过滤器总结: 定义

记账本开发记录六

添加收入或支出布局文件 添加收入或支出Java文件加载布局:

JAVA之CompletableFuture

目录CompletableFuture入门学习内容学习目标课程学习说明1、Future vs CompletableFuture1.1 准备工作1.2 Future 的局限性1.3 CompletableFuture 的优势2、创建异步任务2.1 runAsync2.2 supplyAsync2.3 异步任务中的线程池2.4 异步编程思想3、异步任务回调3.1 thenApply3.2 thenA

记账本jsp

 <%@ page contentType="text/html;charset=UTF-8" language="java" %><!DOCTYPE html> <html><head><meta charset="UTF-8"> <title>家庭记账本主页</title>&nbs

k8s使用

  创建dockerfile   创建镜像  查看镜像   在K8S中部署应用 1.创建yaml模板 1 2.修改模板 vim    3.创建项目pod kubectl apply -f helloworld-deployment.yaml  kubectl logs web-dc77dd8db-

实战上,通过一段ID 生成器代码,学习如何发现,代码质量的问题(设计模式)

ID 生成器的需求背景介绍 ID 中文翻译为标识Identifier ,这个概念在生活,工作中随处可见,比如身份证、商业条形码、二维码、车牌号、驾照号。聚焦到软件开发中,ID 常用来标识一些业务信息的唯一标识,比如订单的单号或者数据库中的唯一主键,比如地址中ID 字段(实际上时没有业务含义的,对用户来说时透明的,不需要关注) 假设你正在参加一个后端的业务系统开发,为了方便在请求出错时排查问题,我们

Pmd-ida 插件安装使用

Pmd-ida代码工程: https://github.com/ybroeker/pmd-idea Pmd-idea主页:https://plugins.jetbrains.com/plugin/15412-pmd-idea   路径:file->setting->plugins->Marketplace,国内在线安装下载吧不到安装包,到https://github.c

Redis的常用数据类型与操作

Redis简介 Redis是一个基于内存的 key-value 结构数据库(内存存储)(键值对) Mysql是将数据,是通过数据文件的方式存放在磁盘上(磁盘存储)(二维表) Redis特点 抢购秒杀,或者新闻热点,大量的用户去访问的数据,就适合存放在Redis中,是对mysql的补充,往往项目中是和mysql共存的状态 redis进行cmd命令记得tab进行自动扩展……server ……conf启

使用jenkins发布springboot前后端分离的项目并发布至远端服务器

第一步----jenkins安装,详情见如下: Beginning March 28, 2023, the Jenkins weekly releases will use new repository signing keys for the Linux installation packages. The same change will be made in Jenkins LTS rel

greenplum5.17安装手册

前置:  软件安装包下载:     可以从官方下载(需要账号)    https://network.pivotal.io/products/vmware-greenplum#/releases/301769/file_groups/1397     也可以从csdn 地址下载:   1.修改主机名IP映射关系,编辑/etc/hosts文件 2.修改主机名,编辑/etc/hostn

Eclipse在末尾快速键入;

1.问题 每次都要移动光标到末尾加入分号,是一件十分麻烦的事对吧,如何快速在末尾键入;呢? 2.解决 2.1 打开Eclipse的Preferences选项,在里面找到java>Editior>Typing,并勾选如图所示选项即可 2.2 重点!!!如何快速键入? 这里并不是VSCODE中那种保存时自动键入,而是无论你在该行何处输入一个;,都会自动定位到改行末尾位置输出!!! 相当于

2.21学习计划

进行JSP知识的简单复习,回顾当天所学内容,强化记忆,学习JavaWeb中的JSP知识时,重点关注JSP的基础语法和标签的应用,建立良好的编程习惯

Set集合为何必须要重写类中的HashCode和equals方法?

1.问题 我们知道Set集合必须要重写HashCode和equals方法,原因是什么呢? 2.解决 最重要的原因是Set集合有不包含重复元素的特性!!! 这个重复元素由谁来定义他是否重复呢?就是由类中的HashCode和equals方法, 先由HashCode判断,但是存在Hash冲突情况,一个桶可能有多个,所以再使用equals方法进行一次比较即可! 参考:[使用Set集合为何要重写hashco

Day 1-2: Java基础知识

学习Java的基本语法、数据类型、运算符等 编写简单的Java程序

Day 25-27: 项目实践

完成一个小型Java项目,应用所学的算法知识 可以尝试实现一个简单的算法可视化工具

jvm内存溢出解决方法

T omcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍。 一、Java JVM内存介绍 JVM管理两种类型的内存,堆和非堆。按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Jav

【方法创建与使用】

类的定义与对象创建 前面我们介绍了什么是类,什么是对象,首先我们就来看看如何去定义一个类。 比如现在我们想要定义一个人类,我们可以右键src目录,点击创建新的类: 我们在对类进行命名时,一般使用英文单词,并且首字母大写,跟变量命名一样,不能出现任何的特殊字符。 可以看到,现在我们的目录下有了两个.java源文件,其中一个是默认创建的Main.java,还有一个是我们刚刚创建的类。 我们来看看创

<<  <  497  498  499  500  501  502  503  504  505  506  507  >  >>