Java
2023/01/24
开始设计数据库操作方法来修改密码 然后通过servlet来进行调用完成密码修改,修改完成后将会直接重定向返回主页面并给出提示。 然后在注册账号时我们还要添加一个操作来判断该用户名是否已经被注册,这刚好也要用到我们之前写的查找账号的方法。 修改完成的servlet为 这样我们就完成了忘记密码时的密码修改和补充了账号重复注册时会出现问题的bug
被Maven折磨的3个小时
遇到依赖问题 查到说是 slf4j包冲突了,各种尝试 引包 不引包 折腾了2个小时 解决不了,折腾下来后 发现 肯定是有依赖引用了 slf4j 这个包 于是点开 项目的 dependencies,发现 Jedis包会依赖 Graph包也会依赖 ges包也会依赖 spring启动的时候 还依赖 最快速的方法是用 Dependency Analyzer 你搜索下报错的 log4j-slf4
dremio cluster docker-compose 运行
dremio 社区版,集群安装比较简单,核心就是一个配置(zk,分布式存储),为了方便本地环境的测试我 基于docker-compose 提供了一个方便部署的环境,可以使用 环境配置 docker-compose version: "3" services: zk: image: zookeeper ports:
dremio LivenessService 服务简单说明
LivenessService是dremio backend 提供的一个http 服务,提供了live (存活)以及metrics服务 此服务在dremio 集群中的每个节点上都会运行,以下是一些说明 一些特点 服务使用了jetty 与官方dac 的backend 是不太一样,默认使用了jersey 框架 默认基于本地回环地址bind同时bind 的端口是随机的,可以配置 配置选项,如下 通
spring声明式事务(@Transactional)开发常犯的几个错误及解决办法
目前JAVA的微服务项目基本都是SSM结构(即:springCloud +springMVC+Mybatis),而其中Mybatis事务的管理也是交由spring来管理,大部份都是使用声明式事务(@Transactional)来进行事务一致性的管理,然后在实际日常开发过程中,发现很多开发同学都用错了spring声明式事务(@Transactional)或者说使用非常不规范,导致出现各种事务问题。我
数据安全治理工作的难点
1、数据资源太多,分级分类和去标识化管理需要大量人工操作。 2、分级分类后,如何针对性制定措施。 3、如何厘清数据链路和数据权限间的权责。 4、数据加工流转链路中,敏感数据标识如何传播。 5、如何应对复杂应用与数据库、应用之间的数据调用防护。 6、如何解决软件架构的安全缺陷和漏洞问题。 7、外部数据的合规性管理难题。 当前主要难点还是在于如何厘清权责。 jQu
SSRF服务端请求伪造浅析
SSRF简介 SSRF,Server-Side Request Forgery,服务端请求伪造,是一种由攻击者构造形成由服务器端发起请求的一个漏洞。一般情况下,SSRF 攻击的目标是从外网无法访问的内部系统。 漏洞形成的原因大多是因为服务端提供了从其他服务器应用获取数据的功能且没有对目标地址作过滤和限制。 攻击者可以利用 SSRF 实现的攻击主要有 5 种: 可以对外网、服务器所在内网、本地进行
大部分程序员记笔记的方式都是错的
大部分程序员学习记笔记的方式都是错的 很多程序员看B站看网课,他记笔记就是看一下记下。 还有就是他把这块听完了,听完一块记一块。 这种方式记笔记的话,记笔记效率是很低的。 比如一个视频两个小时,你记笔记就差不多比两个小时还多了,就比如说现在我边给大家去讲课边打字,那这时候明显能感觉到打字速度是没有说话速度快的,这个时候就会耽误
CTFer——文件操作与upload-labs解析
一、什么是webshell webshell就是以aspx、php、jsp等网页文件形式存在的一种命令环境 也可以将其称为一种网页后门 黑客在入侵网站后,通常会将jsp、aspx或php后门文件与网站服务器web目录下正常的网页文件混在一起 然后就可以使用浏览器来访问后门文件,得到一个命令执行环境,以达到控制网站服务器的目的 二、分类 按照文件大小可以分为三类:大马 小
【架构师视角系列】Apollo配置中心之Server端(ConfigSevice)(三)
目录声明配置中心系列文章一、通知机制二、架构思考三、源码剖析1、配置监听1.1、建立长轮询1.1.1、逻辑描述1.1.2、时序图1.1.3、代码位置1.1.3.1、NotificationControllerV2#pollNotification1.1.3.2、ReleaseMessageServiceWithCache#findLatestReleaseMessagesGroupByMessag
微信小程序如何取得用户的openid
微信官方资料:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-login/code2Session.html 在微信小程序中,可以通过调用微信提供的API来获取用户的openid。以下是获取用户openid的步骤: 首先,在微信开放平台(https://open.weixin.qq.com/)上注册一个小程序,并
Spring事件之注解@EventListener讲解
目录1 注解@EventListener1.1 示例Demo1.1.1 简单例子1.1.2 解耦1.1.3 Spring事件1.2 深入@EventListener1.2.1 debug调试1.2.2 问题一: Spring是怎么知道要去触发这个方法1.2.3 问题二:ApplicationListenerMethodAdapter1.2.4 问题三:SimpleApplicationEventM
Java面向对象程序设计编程练习题
记录本人在Java面向对象程序设计课程中遇到的编程练习题,方便需要时查阅。 目录设计Cirlce类设计Book类设计Address类和Student类设计复数类设计日期类设计接口求图形的周长和面积带异常处理的person类多线程火车票问题 设计Cirlce类 【问题描述】设计如下Cirlce类 【输入形式】输入一个半径值(整数) 【输出形式】输出圆的周长和面积 【样例输入】1 【样例输出】 3
JavaWeb学习记录
JavaWeb学习记录 参考网课:哔哩哔哩_bilibili 目录JavaWeb学习记录JavaWeb基本介绍Maven前端部分(先跳过,之后再看)HTMLVue快速入门常用指令生命周期后段部分JavaWeb架构HTTP协议HTTP协议特点:HTTP-请求数据格式HTTP-响应数据格式HTTP状态码总结Web服务器TomcatIDEA中的Maven Web项目Servlet快速入门执行流程生命周期
Balanced Binary Tree
Source 题解1 - 递归 根据题意,平衡树的定义是两子树的深度差最大不超过1,显然使用递归进行分析较为方便。既然使用递归,那么接下来就需要分析递归调用的终止条件。和之前的 Maximum Depth of Binary Tree 类似,NULL == root必然是其中一个终止条件,返回0;根据题意还需的另一终止条件应为「左右子树高度差大于1」,但对应此终止条件的返回值是多
java中如何获取Stream流
在Java中获取Stream流主要有以下几种方式: 通过集合类(Collection)获取: 所有的java.util.Collection接口的实现类,包括List, Set, 和 Queue等,都可以使用.stream()方法来获取一个Stream。例如: 通过数组获取: 可以使用java.util.Arrays类的静态方法stream()将数组转换为Stream。 通过Stre
Stream流的中间方法和终结方法有哪些
在Java 8及更高版本的Stream API中,Stream操作可以分为中间操作(Intermediate Operations)和终结操作(Terminal Operations)。下面是两类方法的一些常见示例: 中间操作(Intermediate Operations): 中间操作不会立即执行任何处理,而是返回一个新的Stream。这些操作可以链接起来形成一个流水线,只有当终端操作被执行时,
关于java时间类型和格式化到微秒问题
常规的问题此处略,因为网络上到处都是,这里主要讨论三个问题: 1.数据库的时间戳类型(含微秒)对应java的什么类型 java的常见时间类型比较多: java.util.Date java.sql.Date java.sql.Timestamp java.util.Calendar java.time.LocalDate java.time.LocalTime java.time.LocalDa
我对二进制的运算和用途的认识与思考
在初步了解计算机的“大脑核心“CPU之后,对于计算机是如何处理数据、指令、函数的流程有了大致的逻辑认知。在阅读过有关二进制的知识后,对于计算机构成和运行有了更深的了解,主要分为对于二进制的运算和用途的思考。 首先,作为计算机核心的CPU同其他计算机组件一样,都属于IC集成电路的一种,在之前我对于计算机32位还是64位这个区分并不是很了解,但在阅读CPU知识和二进制知识后,认识了位和字节的概念,并且
Day 02.Hello world
Hello world 新建文件夹,用于存放代码 新建一个java文件,文件后缀.java 编写代码 转译javac文件 运行class文件  可能遇到的情况
服了,一个ThreadLocal被问出了花
分享是最有效的学习方式。 博客:https://blog.ktdaddy.com/ 故事 地铁上,小帅无力地倚靠着杆子,脑子里尽是刚才面试官的夺命连环问,“用过TheadLocal么?ThreadLocal是如何解决共享变量访问的安全性的呢?你觉得啥场景下会用到TheadLocal? 我们在日常用ThreadLocal的时候需要注意什么?ThreadLocal在高并发场景下会造成内存泄漏吗?为
项目中为何需要API接口加密?如何实现?
为什么要对API接口进行加密? 因为http协议是明文传输,不够安全,比如在进行get请求时,请求的数据会直接附加在URL(地址栏)后边,即使是post请求其实也是不够安全的,如果用户连接了不安全的网络,这个时候黑客就可以通过抓包工具直接获取请求信息,并且可能对请求参数进行非法篡改,所以API接口加密就显得至关重要了 在项目中,API加密一般可以起到一下三个作用: 1. 保护敏感数据:API接口
如何在 JavaScript 中验证 URL
如何在 JavaScript 中验证 URL 统一资源定位符 URL(Uniform Resource Locator)引导你进入互联网上的一个页面或文件。URL 是互联网上事物的地址。 所有有效的 URL 都遵循某些模式。因此,如果你知道这些模式,你就可以在你的程序中确定一个 URL 是否有效,并给出反馈、抛出一个错误,等等。 在本教程中,你将学习三种方法来检查 JavaScript 中的一个字
Java 中的Map集合
Map 1.Map接口中常用的方法 2.Map集合的遍历 第一种方法:获取所有的key,通过遍历key,遍历value 第二种方式遍历 Set<Map.Entry<K, V>> entrySet(); 以上这个方法是把map集合直接全部转化成set集合 Set集合中元素类型是:Map.Entry Set<Map.Entry<Integer,Strin