java工程师 精华 知识
Redis的Java客户端
Redis 的 Java 客户端很多,常用的几种: Jedis Lettuce Spring Data Redis Spring 对 Redis 客户端进行了整合,提供了 Spring Data Redis,在Spring Boot项目中还提供了对应的Starter,即 spring-boot-st ......
一道入门的java安全题
【XCTF】Zhuanxv 收获 java题的一般流程 HQL注入 SQL注入 看题 目录扫描 dirsearch扫目录,发现list目录: 一个登录界面,本着尽量不写sql注入题目的原则(因为太菜了这方面,抓包查看代码: js代码中为了加载图片直接写出了后台存储图像路径,那试试能不能通过这个url ......
Java拾贝第十五天——集合之Map
从上图中可以发现,Map接口与Collection接口是不同的。 Map接口中的每个元素都使用"键值对"的形式存储在集合中。(key→value) 其接口定义如下: public interface Map<K,V> K泛型代表的是key,V泛型代表的是value。在使用Map时必须指定两个具体的类 ......
算法集合知识点
### 时间复杂度 算法**执行时间**与**数据规模**之间的增长关系。 越来越复杂:常对幂指阶 ![1698891265438](https://img2023.cnblogs.com/blog/762616/202311/762616-20231103200615432-813969627.p ......
mysql知识点
### 慢查询 #### 定位 - 借助第三方检测工具 - SkyWalking - 自研监控系统 - mysql开启慢查询 > 开启慢查询可能会影响mysql服务器的性能,如果硬盘IO已经是瓶颈的话则影响更为明显。 > > 建议做好以下设置: > > - 控制日志最大大小 > - 定时清理日志 > ......
redis知识点
redis知识点 场景类 缓存 缓存穿透 定义:大量查询业务不存在的key击穿redis,直接查询数据库. 解决方案: value null 实施:来一个这样的key,写入到缓存中,将其值设置为null。 缺点: 会缓存大量这样的内容,内存存在溢出可能。 后续如果有这样的业务key生成,则缓存中的数 ......
使用Docker部署java项目时遇到的几个错误
0.简介 本文主要是在学习黑马程序员Docker快速入门到项目部署过程中, 对遇到的问题进行了相关的总结梳理 1.本地已存在mysql服务占用3306端口 问题 当我使用docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MY ......
Java八股面试整理(3)
21.说一说hashCode()和equals()的关系 hashCode()用于获取哈希码(散列码),eauqls()用于比较两个对象是否相等,它们应遵守如下规定: 如果两个对象相等,则它们必须有相同的哈希码。 如果两个对象有相同的哈希码,则它们未必相等。 22.为什么要重写hashCode()和 ......
java判断按键是否按下
Java判断按键是否按下的实现 1. 简介在Java中,可以使用java.awt.event.KeyEvent类来判断按键是否按下。本文将为刚入行的小白介绍如何实现Java判断按键是否按下的方法。 2. 实现步骤以下是实现Java判断按键是否按下的步骤: 步骤 描述步骤1 创建一个KeyListen ......
java获得之前的时间, 时间的减法运算实现
//方法一 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String maxDateStr = "2018-01-01"; String minDateStr = ""; Calendar calc =Calendar.get ......
interface没有实现的接口返回 java 接口没有返回值
interface没有实现的接口返回 java 接口没有返回值 作者:懒得安分使用过Webapi的园友应该都知道,Webapi的接口返回值主要有四种类型void无返回值IHttpActionResultHttpResponseMessage自定义类型一、void无返回值void关键字我们都不陌生,它 ......
一些常用数学知识
\[(a_1 + a_2 + a_3 + ... + a_n) ^ 2 = a_1^2 + a_2^2 + ... + a_n^2 + 2a_1a_2 + 2a_1a_3 + ... 2a_{n-1}a_n \] \[\sum_{k = 1}^{n}k ^ 2 = \frac{n(n + 1)(2n ......
秦疆的Java课程笔记:13-16 入门 上
13 入门 Java帝国的诞生 1972年,C语言诞生 优点:贴近硬件,运行极快,效率很高 以C语言为基础开发:操作系统,编译器,数据库,网络系统 两个枷锁:指针,内存管理 指针很强大,能直接操作内存,但是C语言没有相应的工具去越界检查,新手容易犯错。 内存管理问题在编译期间是发现不了的,只有到程序 ......
Go高级工程师实战营-深度Go语言大厂真实项目性能优化
Go高级工程师实战营-深度Go语言大厂真实项目性能优化 一、性能优化工具-pprof 1. 简介 性能调优原则。 要依靠数据不是猜测。 要定位最大瓶颈而不是细枝末节。 不要过早优化。 不要过度优化。 2. 性能分析工具 pprof 熟练使用 pprof 工具排查性能问题并了解其基本原理。 pprof ......
C#.NET 国密SM4 CBC 对称加解密 与JAVA互通 ver:20231103
C#.NET 国密SM4 CBC 对称加解密 与JAVA互通 ver:20231103 .NET 环境:.NET6 控制台程序(.net core)。 JAVA 环境:JAVA8,带maven 的JAVA控制台程序。 简要解析: 1:加密的KEY、明文等输入参数都需要string转 byte [] ......
Java拾贝第十五天——集合之Iterator迭代器
虽然for each循环可以遍历集合输出,但书上提及了一个观点。 只要碰到了集合输出的操作,就一定要使用Iterator(迭代器)接口 实际上编译器把for each循环通过Iterator改写为了普通的for循环 上述的观点在本文最后一部分会提及。 Iterator Iterator是专门的迭代输 ......
Java学习之路(四)
Java学习之路(四) 1、方法的概念 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用 2、方法的定义和调用 2.1 、无参数 ......
JAVA之反射机制
反射的JAVA的一个重要的机制 静态语言:在编译期间检查类型,所有的类型检查发生在编译时。变量的类型在编译时是已知的,不会随着程序运行时期的变化而变化。典型的静态语言包括 Java、C#、C++等。 动态语言:在运行时检查类型,类型检查发生在运行时。变量的类型可以在运行时随程序的执行而改变。典型的动 ......
Java 8: 异步利器 CompletableFuture vs Parallel Stream 选哪个
应人们对性能和体验的要求,异步在项目中用的越来越多,CompletableFuture 和Parallel Stream无疑是异步并发的利器。既然两者都可以实现异步并发,那么带来一个问题:什么时候该使用哪个呢,哪个场景下使用哪个会更好呢?这篇文章因此出现,旨在当执行异步进行编程时Completabl ......
hbase知识点
定义 Hbase 是一个分布式的、面向列的 NoSQL 数据库,是 Google BigTable 的开源实现,基于 Hadoop 和 Zookeeper 构建,可以提供海量结构化和半结构化数据的存储和随机访问。 NOSql和传统Sql的区别: 传统sql需要设计好结构化的建表语句,而NOSql不需 ......
Java反序列化漏洞原理研究
一、Java类加载机制 0x1:Java程序如何运行 一个Java程序的运行整个过程分为编译时和运行时。 首先原始的java程序源码先由java编译器javac来编译成字节码,即.class文件,然后有ClassLoader类加载器加载类的常量、方法等到内存,字节码校验器对变量初始化、方法调用、堆栈 ......
JAVA技术栈的有福啦!这款IDEA插件,写完代码即可调试
国产API调试工具 Apipost 推出IDEA插件,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成 url 和 params。Apipost Helper = API 调试工具 + API 管理工具 + API 搜索工具。 在商店中搜索或直接点击下方链接即可下载: ......
第五章知识点完整性总结
第五章 定时器及时钟服务 本章讨论了定时器和定时器服务;介绍了硬件定时器的原理和基于 Intel x86 的 PC 中的硬件定时器;讲解了 CPU 操作和中断处理;描述了 Linux 中与定时器相关的系统调用、库函数和定时器服务命令;探讨了进程间隔定时器、 定时器生成的信号 硬件定时器 定时器是由时 ......
java基础学习:path,java_home环境变量配置
1.path变量: 装jdk后会自动配置java和javac的path路径 2.JAVA_HOME环境变量: ......
Archlinux下 JetBrains系列产品(IDEA、Android Studio) MC 等 java程序 无法输入中文解决方案
解决方法: 检查你的locale配置,终端执行locale -a看一下输出结果是否包含zh_CN.UTF8 如果没有请修改/etc/locale/gen文件,搜索zh_CN.UTF-8,然后取消这一行的注释,或者追加zh_CN.UTF-8 UTF-8到文件底部 使用sudo locale-gen重新 ......
JAVA内存分配
1.类(包含该类的方法)的字节码文件进入方法区处于候命状态 2.虚拟机调用了该类的方法后,方法进入栈内存,并执行方法 3.当运行方法过程中出现了“new”,就会在堆内存中开辟对应空间,并把该空间的地址返回给arr变量记录,因此就可以通过arr找到对应的堆内存空间 注意: ......