Java
Day02Java学习笔记
Java学习day02 一、注释 1.1说明 注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。 1.2分类 Java中的注释分为三种:单行注释、多行注释和文档注释 单行注释:// 多行注释:/* (多行注释不能嵌套使用) 文档注释:/** */ javadoc -d . 目录 文档名称.ja
面向对象4-重写,多态
面向对象4 2.积累完成项目的过程中常见的bug的调试 方式一:“硬”看,必要时,添加输出语句。 方式二:Debug 6.在类前,方法前,方法内具体逻辑的实现步骤等添加必要的注释. 类前、方法前、属性前:文档注释。 逻辑步骤:单行、多行注释。 1.为什么要有类的继承性?(继承性的好处) 减少了代码的冗余,提高了代码的复用性 便于功能的扩展 为之后多态性的使用,提供了前提
关于推动可追溯代码来源的计划
关于推动可追溯代码来源的计划 缘由 在互联网上,很多技术博客和文章引入代码段来帮助读者理解技术思路或记录对某个大型模块的原理分析和理解。然而,由于版本管理和技术变化,很多历史文章在读者读到精髓时,发现引入的代码块没有来源信息,导致不能对这个思路进行完整的了解,影响了读者的学习效果。 和ChatGpt 在关于这个问题上,做了一番详细的讨论,由此萌发了让我推动代码可溯源的动力。 在博客或文章中引入代
前端实现浏览器端大文件分块上传
效果展示: 编辑 编辑 编辑 编辑 视频演示: windows控件安装,,linux-deb控件包安装,linux-rpm控件包安装,php7测试,php5测试,vue-cli-测试,asp.net-IIS测试,asp.net-阿里云(oss)测试,asp.net-华为云(obs)测试,jsp-springboot测试,ActiveX(x86)源码编译,Activ
springboot~redisson中使用lua脚本的问题
起因 事情是这样的,我在通过redission进行限流时,用到了在lua脚本里进行数值计算,而我在本地测试过程中,发现所有tonumber()方法时,返回值都是nil,这个原因最后找到了,是没有配置序列化的方式,出现错误提示如下: 解决方法 找到了原因,解决就变得很容易了,我们添加jackson序列化就可以了 lua测试代码 作者:仓储大叔,张占岭, 荣誉:微软MVPQQ
面霸的自我修养:Java线程专题
王有志,一个分享硬核Java技术的互金摸鱼侠加入Java人的提桶跑路群:共同富裕的Java人 平时我在网上冲浪的时候,收集了不少八股文和面试文,内容虽然多,但质量上良莠不齐,主打一个不假思索的互相抄,使得很多错误内容一代代得“传承”了下来。所以,我对收集的内容做了归纳和整理,通过查阅资料重新做了解答,并给出了每道八股文评分。 好了,废话不多说我们进入正题,今天的主题是 Java&nb
nacos适配达梦、瀚高、人大金仓数据库及部分源码探究
一.插件实现 1.插件目录结构 2.pom依赖 View Code 3.代码实现 3.1.DataSourceConstant View Code 3.2.公共方法 3.2.1.AbstractConfigInfoAggrMapperCommon View Code 3.2.2.AbstractConfigInfoBetaMapperCom
netty 分享准备
讲解步骤 目录Linux网络编程什么是Socket网络事件模型1.轮询2.Epoll和Select 一种高度可扩展的事件通知特性连接事件优化—多路复用epollepoll 底层实现:零拷贝I/O类别BIO/OIO(同步阻塞)NIO(异步通知、非阻塞)NIO和BIO的主要区别AIO(异步通知、非阻塞)NIO 核心组件Selector选择器Channel管道buffer缓冲区SelectionK
使用docker破解安装jira
1、拉取jira的镜像 docker pull registry.cn-hangzhou.aliyuncs.com/yangmingquan/jira:8.1.0 这里拉取的是别人的阿里云jira镜像 2、拉取mysql5.7版本的镜像 docker pull mysql:5.7 3、创建mysql的文件夹,为了将宿主机路径映射到容器里 mkdir -p /home/data/atlas
抽象语法树AST必知必会
1 介绍 AST 打开前端项目中的 package.json,会发现众多工具已经占据了我们开发日常的各个角落,例如 JavaScript 转译、CSS 预处理、代码压缩、ESLint、Prettier 等。这些工具模块大都不会交付到生产环境中,但它们的存在于我们的开发而言是不可或缺的。 有没有想过这些工具的功能是如何实现的呢?没错,抽象语法树 (Abstract Syntax Tree) 就是上述
netty实现http服务器
pom.xml HttpServer.java netty服务类 HttpServerInitializer.java netty初始化配置类 HttpServerInitializer.java 处理类 序列化接口 JSONSerializer.java 序列化类 User.java response返回类 ProjectCommandLineRunner.java 项目启动时启动
SpringBoot 使用jasypt 对敏感字段加密
com.github.ulisesbocchio jasypt-spring-boot-starter 2.1 . 2 如果Spring Boot项目中使用了@SpringBootApplication或者@EnableAutoConfiguration,在项目里添加jasypt-spring-boot-starter依赖会自动对项目中整个属性(包括系统属性,环境
eclipse中web项目打包,部署,及访问
一,通过eclipse打war包 新版的eclipse 可能不带有web开发工具,需要安装web开发工具 1,点击help 2,点击eclipse marketplace 3,搜索web 二,项目右键选择export,找到war file并点击 1,选择项目右键 2,选择export点击 3,搜索web,点击war file 点击next 4,输入包名,选择项目,点击完成 完成后等待
JavaAES加密算法原理及实现
JavaAES加密算法原理及实现 JavaAES加密算法是一种常用的对称加密算法,它允许使用相同的密钥进行加密和解密操作。本文将围绕JavaAES加密算法的原理及实现进行介绍。 一、JavaAES加密算法原理 JavaAES加密算法采用的是块加密算法,每次处理数据块的大小是128位。JavaAES加密算法的实现是基于密钥的置换和逐轮轮代替的方式。AES密钥长度为128位、192位或256位。具体
Java AOP 实现面向切面编程
面向切面编程(Aspect-Oriented Programming,AOP)是一种在软件开发中常用的技术,它能够将程序中横切关注点(cross-cutting concerns)从业务逻辑中分离出来,使得程序更加易于维护和扩展。 在 Java 开发中,我们可以使用 Java AOP 框架来实现面向切面编程。Java AOP 框架主要有两种实现方式:静态代理和动态代理。 静态代理方
JavaAESCBC解密过程详解
JavaAESCBC解密过程详解 在Java编程开发中,数据的加密和解密显得尤为重要。其中,AES-CBC是一种常见的加密方式,这里将详细介绍JavaAESCBC解密过程。 1. 密钥生成 在进行AES-CBC加解密之前,需要生成一个密钥。密钥的生成需要使用Java的密钥生成器,可以通过以下代码实现: KeyGenerator kgen = KeyGenerator
解决Clipse Java内存溢出问题的几种方案
解决Clipse Java内存溢出问题的几种方案 随着Java应用程序的复杂度不断提高,内存溢出成为一个常见的问题。当应用程序超出了可用内存资源时,就会发生内存溢出错误。而在Clipse Java编程开发中,也常常会遇到这样的问题。为了解决这个问题,本文将介绍一些可行的解决方案。 1. 增加JVM堆内存大小 Clipse是一款基于Eclipse平台的Java IDE,在运行时是通过JVM来实现的
Eclipse如何安装JavaEE插件
Eclipse是Java编程领域最常用的开发工具之一,它提供了丰富的插件来支持各种编程语言和框架。对于JavaEE开发者来说,安装JavaEE插件是非常必要的,因为它可以为我们提供更多的工具和功能,使我们的开发工作更加高效和便捷。本文将一步步教你如何在Eclipse中安装JavaEE插件。 首先,我们需要确保已经正确安装了Eclipse。如果你还没有安装Eclipse,可以从官网下
idea启动总是报错Error running 'Tomcat 9.0.6': Unable to open debugger port (127.0.0.1:57757): java.net.SocketException "socket closed",但是我57757端口实际上并没有被使用
问题:当遇到idea启动报错"Error running 'Tomcat 9..6': Unable to open debugger port (127.0.0.1:57757): java.net.SocketException "socket closed""时,很多人可能会尝试改变debugger的端口来解决问题。但是有时候即使改了几次端口,仍然提示端口被占用,但实际上并没有使用该端口。
Java并发处理任务
背景 当一个任务执行时间过长的时候,并且这个任务可以分解成多个独立的任务时,可以使用Java多线程来减少执行时间。 第一版 发现这个版本并没有减少时间,原因是submit.get()会阻塞,会一直等到拿到结果才返回。 第二版 可以先把预存结果放到一个列表里,然后统一取结果 第三版 可以用现成的ExecutorCompletionService
CMPP2协议的Java实现方式
CMPP2协议的Java实现方式 在移动通信领域,短信服务一直是非常重要的一部分。为了实现高效、稳定的短信传输,运营商们制定了一系列短信协议。其中,CMPP2协议是目前最常用的一种协议之一。本文将着重介绍CMPP2协议的Java实现方式,帮助读者更好地了解和应用这一协议。 首先,我们需要明确CMPP2协议的基本原理和特点。CMPP2协议是一种基于短信传输的协议,它采用了二进制方式进行数据的传输,
JavaIO中的缓冲流有什么作用如何使用缓冲流进行IO操作
缓冲流在JavaIO中扮演着非常重要的角色,它可以提高IO操作的效率,减少访问硬盘的次数。在本文中,我们将探讨JavaIO中的缓冲流的作用,并演示如何使用缓冲流进行IO操作。 首先,让我们了解一下什么是缓冲流。缓冲流是一种高级流,它通过在内存中创建缓冲区来提高IO的效率。当我们使用缓冲流进行IO操作时,数据会首先被写入到缓冲区中,然后再一次性地写入到磁盘中(写入操作),或者从缓冲区
9探索Java内置函数的隐藏功能和高级用法
Java作为一种广泛使用的编程语言,拥有丰富的内置函数库,这些函数可以大大简化开发过程,并提供了许多强大的功能。然而,除了常见的用法之外,Java内置函数还具有一些隐藏的功能和高级用法,这些功能和用法可能被开发者所忽视,但却能提高代码的效率和可读性。本文将围绕这一主题,探索Java内置函数的隐藏功能和高级用法,并介绍它们的应用场景和优势。 首先,让我们来看一下Java中的字符串处理
9Java中如何判断一个字符串是否包含另一个子串
在Java中,我们经常会遇到需要判断一个字符串是否包含另一个子串的情况。对于这个问题,我们可以使用一些简单而有效的方法来解决。本文将介绍几种常见的方法,以及它们的优缺点。 方法一:使用contains方法 Java中的String类提供了一个contains方法,可以很方便地判断一个字符串是否包含另一个子串。使用方法非常简单,只需调用contains方法,将待判断的子串作为参数传入即可。如果包含
chrome事件循环的自问自答
chrome事件循环的自问自答 目录 1. 宏任务有哪些? 2. 微任务有哪些? 3. dom渲染是事件循环的一部分么? 4. requestAnimationFrame的回调是宏任务还是微任务? 5. requestIdleCallback的回调是宏任务还是微任务? 6. 事件循环图例 1. 宏任务有哪些? 事件回调 (js调用的 click box.click() ) XHR或网络请求回