Java

Java标识符和关键字

关键字 关键字 关键字 关键字 关键字 abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import insta

BurpSuite安全工具破解以及创建快捷方式指导

1、作为测试人员,用户到的安全测试工具很多,常见的有AppScan,BurpSuite,Acunetix,nessus,今天我们来安装下Web安全扫描工具BurpSuite; 2、首先解释为啥推荐BurpSuite,笔者觉得其功能强大,可以看下官网对其的解释: 一款信息安全从业人员必备的集 成型的渗透测试工具,它采用自动测试和半自动测试的方式,包含了 Proxy,Spider,Scanner,In

kratos http原理

概念 kratos 为了使http协议的逻辑代码和grpc的逻辑代码使用同一份,选择了基于protobuf的IDL文件使用proto插件生成辅助代码的方式。 protoc http插件的地址为:https://github.com/go-kratos/kratos/tree/main/cmd/protoc-gen-go-http 示例 使用kratos proto client xxx 生成的代

计算机专业学生暑假要去看这些经典书籍!

好书在精不在多,每一本经典书籍都值得反复咀嚼,温故而知新! 分享几本经典书籍。 重构 改善既有代码的设计 就像豆瓣评论所说的,看后有种醍醐灌顶、欲罢不能的感觉。无论你是初学者,还是深耕多年的老手,这本书都值得你深度品读。作者有丰富的编程经验和思想,总结了一套非常实用的重构的基本方法,让你更好的理解重构的思想精髓,找到适合自身以及团队的代码整洁之道 计算机是怎样跑起来的 这本书相对比较基础,但是

2023年6月29日22:33:36

今天是刚刚开始的第一天。 上午:我学习了Vue通用后台管理系统项目,但是我发现自己的根本很不理解她所写的语法。 下午:我继续学习了一段时间的vue后台管理项目。发现还是看不懂,因为如果自己看不懂,那我也就不可能说去自己能写出东西来。 然后我就去学习了JavaScript,但发现还是不是JavaScript的问题。 下午的时候我开始锻炼,主要锻炼自己的核心力量,也就是腰腹部。今天的运动计划完美完成了

网络IO模型:BIO、NIO、AIO的区别

1.BIO,即Blocking IO,同步阻塞IO,最原始的实现方式,每个socket在进行IO请求时(发送数据或接收数据)都会阻塞线程,所以有多少个IO请求就需要多少个线程; 这里同步和异步是一种逻辑概念,比如我调用某个接口是异步接口,即对方不会等处理完业务后告诉我业务处理结果,而是直接就返回了,需要我们后续通过其他方式来验证是否执行成功 ,但是这个IO本身又是同步的,即socket也是要同步把

微服务架构必读篇 - 网关

前言 由于互联网的高速发展,网络数据请求数激增,使得服务器承受的压力越来越大。在早期的系统架构中,为减轻单台服务器的压力,通常使用 Load Balancer 来将网络流量平摊到多个服务器中。如今后端服务的种类和数量在不断变多,传统的 Load Balancer 为主的系统架构的局限性就变得明显起来,于是一款主要工作在七层且具有丰富扩展能力的基础设施便应运而生,那便是 API Gateway。 什

mybatis-plus框架配合数据库表时间字段自动更新问题

背景 在项目开发前的设计阶段,我们会根据需求分析、业务梳理的结果进行领域建模。 通常有2种方式: 实体设计优先 数据库设计优先 无论哪种方式,最终会创建数据库、数据表。 通常在每一张表,会设计2个时间自动,创建时间和修改时间,这样在查询数据时能够清晰的看到数据行 是什么时候创建、什么时候最后修改的,可用于数据审计、方便问题排查等。 这2个字段的设置又有2种方式: 程序中在实体类设置字段值,由

SpringBoot--尚硅谷2018

# 一、Spring Boot 入门 B站视频地址: 72_尚硅谷_结束语_哔哩哔哩_bilibili 1、Spring Boot 简介 简化Spring应用开发的一个框架; 整个Spring技术栈的一个大整合; J2EE开发的一站式解决方案; 2、微服务 2014,martin fowler 微服务:架构风格(服务微化) 一个应用应该是一组小型服务;可以通过HTTP的方式进行互通; 单体应

4第四章 分布式事务与自媒体素材管理

# 第四章 分布式事务与自媒体素材管理 目标 能够理解什么是分布式事务 能够理解CAP定理和BASE理论 能够掌握seata要解决的问题 能够完成seata集成到项目中使用 能够掌握分布式文件系统fastdfs的基本使用 能够完成素材管理功能 能够完成自媒体文章列表查询功能 1 分布式事务解决方案 我们昨天编写的用户认证审核的代码服务中存在的,如果审核完用户后出了异

5第五章 自媒体文章发布

# 第五章 自媒体文章发布 目标 完成自媒体文章列表查询功能 完成自媒体文章的发布功能 完成自媒体文章的查询 完成自媒体文章的删除功能 完成自媒体文章的上下架功能功能 1 自媒体文章列表查询 1.1 需求分析 1.2 表结构和实体类 wm_news 自媒体文章表 自媒体文章实体类 1.3 接口定义 在接口工程heima-leadnews-apis中定义接口 com.heima.api.w

6第六章 kafka和第三方接口对接

# 第六章 kafka和第三方接口对接 目标 能够了解kafka基本信息 能够运用kafka进行消息的收发 能能理解kafka生产者的原理和机制 能能理解kafka消费者的原理和机制 能够完成阿里云安全第三方接口文档的使用 能够把阿里云安全对接到项目中 能够理解敏感词过滤算法dfa 1 kafka 1.1 kafka介绍 Kafka 是一个分布式流媒体平台 kafka官网:http://kaf

7 Join方法

7 Join方法 join方法的作用   假设在主线程中调用子线程的join方法,主线程会在join方法处等待子线程执行完之后,再继续进行下去。这个过程也就是一个同步的过程。 什么是同步 以调用方角度来讲,如果 ​ 同步:需要等待结果返回,才能继续运行就是同步 ​ 异步:不需要等待结果返回,就能继续运行就是异步 结果: 主线程开始执行 sub线程开始执行 sub线程结束 r=10 主线程结

6 sleep与yield的比较

6 sleep与yield的比较 sleep 调用 sleep 会让当前线程从 Running 进入 Timed Waiting 状态(阻塞) 其它线程可以使用 interrupt 方法打断正在睡眠的线程,这时 sleep 方法会抛出 InterruptedException 睡眠结束后的线程未必会立刻得到执行 建议用 TimeUnit 的 sleep 代替 Thread 的 sl

12 方法上的 synchronized

12 方法上的 synchronized

11 临界区与竞态条件

11 临界区与竞态条件 临界区 Critical Section 一个程序运行多个线程本身是没有问题的 问题出在多个线程访问共享资源 多个线程读共享资源其实也没有问题 在多个线程对共享资源读写操作时发生指令交错,就会出现问题 一段代码块内如果存在对共享资源的多线程读写操作,称这段代码块为临界区 例如,下面代码中的临界区: 竞态条件 Race Condition

10 线程的状态

10 线程的状态 操作系统层面的线程状态 初始状态 仅是在语言层面创建了线程对象,还未与操作系统线程关联。 可运行状态(就绪状态) 指该线程已经被创建(与操作系统线程关联),可以由 CPU 调度执行。 阻塞状态 如果调用了阻塞 API,如 BIO 读写文件,这时该线程实际不会用到 CPU,会导致线程上下文切换,进入 阻塞状态。 等 BIO 操作完毕,会由操作系统唤醒阻塞的线程

9第九章 app端基本功能展示

第九章 app端基本功能展示 目标 能够完成app端文章列表展示功能开发 能够完成app端文章详情的功能开发 能够掌握解决long类型丢失精度的问题 能够完成app端登录的功能 能够掌握关注作者功能 1 app端-文章列表 1.1 app端文章列表-需求分析 在手机端可以查看文章信息 1,在默认频道展示10条文章信息 2,可以切换频道查看不同种类文章 3,当用户上拉可以加载最新的文章信息(

第十章 app端用户行为处理

第十章 app端用户行为处理 目标 能够理解app端的行为记录 能够完成作者关注行为的功能 能够完成文章点赞行为的功能 能够完成文章阅读行为的功能 能够掌握不喜欢和收藏功能的实现思路 能够完成app文章关系展示功能 1 app-用户操作行为记录 用户行为数据的记录包括了关注、点赞、不喜欢、收藏、阅读等行为 这些行为与当前app端的功能实现没有任何关系,即使没有行为数据,功能也不耽误实现,那为什

11第十一章 app端评论系统开发

# 第十一章 app端评论系统开发 目标 能够完成对mongodb的环境搭建 能够掌握mongodb的基本使用 能够完成app端评论的查询、发表、点赞等功能 能够完成app端评论回复的查询,发表、点赞功能 1 Mongodb 1.1Mongodb简介 MongoDB是一个开源、高性能、无模式的文档型数据库 应用场景: 支持文本查询 不需要支持事务,不存在复杂的多表查询 存储数据可持久化 需要

sharding-jdbc mysql分库分表的代码实现

一、依赖包 注意,sharding-jdbc 不同版本的差异较大,如果引入 其他版本,有可能不兼容。 二、mysql 建表 建立多个分表: 三、properties 配置文件 properties如下: 自定义分表策略: 注意,这个类要放在对应的路径。 比如 properties 文件中配置的是: 那么类就要放在 com.example.demo.config.MyShardingAlg

12第十二章 app端文章搜索

# 第十二章 app端文章搜索 目标 能够熟悉docker搭建ElasticSearch的环境 能够掌握创建索引的思路 能够完成app端文章的搜索 能够完成app端搜索记录的管理 能够完成搜索关键词的联想功能 1 搭建ElasticSearch环境 1.1 拉取镜像 1.2 创建容器 1.3 配置中文分词器 ik 因为在创建elasticsearch容器的时候,映射了目录,所以可以在宿主机

数据库内核:PostgreSQL 索引

索引(Indexing) 索引分类 索引就是 ((keyVal,tupleID)) 对构成的文件。 一维索引是基于单个属性值 A,这个属性有可能是数据文件的排序键,有可能其取值是不重复的。因此,基于索引属性种类可以将索引类型进行分类: Primary:属性 A 的取值是不重复(主键),且数据文件可能基于其进行排序的 Clustering:属性 A 的取值有重复 (非主键),但是数据文件一定

【剑指Offer】34、第一个只出现一次的字符

【剑指Offer】34、第一个只出现一次的字符 题目描述: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写)。 解题思路: 对于本题,这里给出以下三种解法:(1)用 HashMap 建立每个字符与其出现次数的映射,然后再依次遍历字符串时,找到第一个出现次数为1的字符,返回其位置即可。(2

第十三章-新热文章计算

# 第十三章 新热文章计算 今日目标 能够理解什么是实时流式计算 能够理解kafkaStream处理实时流式计算的流程 能够完成kafkaStream实时流式计算的入门案例 能够完成app端热点文章计算的功能 能够完成app端文章列表接口的优化改造 1 实时流式计算 1.1 概念 一般流式计算会与批量计算相比较。在流式计算模型中,输入是持续的,可以认为在时间上是无界的,也就意味着,永远拿不到全

文章测试

Markdown示例 本文件的源码是一个markdown文件,也就是说在本工程中直接添加markdown即可嵌入到sphinx文档中。 关于使sphinx支持markdown的详细配置说明,请参考文档markdown-sphinx。 markdown的公式语法在sphinx可能不支持。 以下是markdown的语法使用示例 文档来源:https://www.mdeditor.com/ 欢迎使用 M

前端面试真题-vue(一)

1.说说对vue的理解  (1) vue.js是一种用于创建用户界面的渐进式的javascript框架  (2)也是用于创建单页面应用的web应用框架。  (3)vue的核心库只关心视图层,使得数据和视图的双向绑定变得快捷  (4)由于vue的核心库只关心视图层,所以不仅可以与其他库和现有项目整合,也可以添加更多的vue插件,实现更复杂的功能 &n

Mybatis中查询出来的部分数据为空,能查出行部分字段为空

同样的sql语句,在数据库中能查出完整的行数据 在mybatis中返回数据中能查出行,但是部分有值的字段为空。 首先检查缓存,没问题的话大概率是因为mybatis自动映射的关系: 1.列名不匹配:自动映射会根据数据库中的列名和对象属性名进行映射,如果列名和属性名不匹配,就会导致数据为空。确保数据库列名与对象属性名一致,或者通过 @Results 注解或 @ResultMap 注解显式指定列名与属性

YK的第二次BLOG作业

一、前言: 第四次PTA作业:难度较大,只有一道题,需要综合运用Java的各种技巧。 第五次PTA作业:难度较大,只有一道题,需要综合运用Java的各种技巧。 期中考试:除最后一题外,难度适中,有四道题。   二、设计与分析  第四次PTA作业: 1、设计分析: 这是一个关于设计点菜计价程序的问题。根据输入的信息,程序将计算并输出总价格。输入内容包括菜单和订单两部分,最后以"e

ES在java中的使用之springboot集成RestHighLevelClient相关

官方下载es并安装; RestHighLevelClient官网使用文档:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.8/java-rest-high-getting-started-initialization.html 里面包含了所有操作es的相关接口功能以及介绍; 第一步:导入依赖 第二步:创建相关配置类

<<  <  1032  1033  1034  1035  1036  1037  1038  1039  1040  1041  1042  >  >>