Java
Android开发笔记[13]-图案密码
摘要 输入图案密码123跳转到关于页面. 关键信息 Android Studio:Iguana | 2023.2.1 Gradle:distributionUrl=https://services.gradle.org/distributions/gradle-8.4-bin.zip jvmTarget = '1.8' minSdk 21 targetSdk 34 compileSdk 34 开
SpringMVC中的@RequestMapping
1.类上与方法上都可以 2.可以指定请求方式(不指定method默认为post和get,指定后要按需请求,不然报错) 3.可以指定params 给出参数和参数值,若参数值不一致也会报错 4.支持Ant风格资源地址 1.?匹配文件名中的一个字符 2.匹配文件名中的任意字符 3.**匹配多层路径 5.@PathVariable映射URL绑定占位符,不需要url带参数了,更加简洁 注意事项
Java String类的compareTo() 方法
compareTo() 方法用于两种方式的比较: 字符串与对象进行比较。 按字典顺序比较两个字符串。 参数 o -- 要比较的对象。 anotherString -- 要比较的字符串。 返回值 返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的长度差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做
软件产品开发从0到1的整个流程
软件产品开发从0到1的整个流程顺序如下: 1. 市场调研与分析:分析市场需求、行业环境、竞争对手和潜在用户以确定产品定位和功能需求,制定项目计划和里程碑。 2. 产品规划:进行系统的预研,确定整体技术方案和资源投入。详细描述项目的目标、范围、预算、时间表、风险评估等信息,提交给相关利益相关者进行批准。 3. 国际化与本地化:考虑软件产品在不同地区和语言环境下的使用,实现多语言支持和适应不同市场需求
写了个简单爬虫,分析 Boss 直聘自动驾驶岗位
两年前,朋友想知道 Boss 直聘上关于自动驾驶的岗位有哪些 ,于是,笔者写了一个简单的爬虫 crawler-boss ,将岗位的信息收集起来。 这篇文章,笔者想分享爬虫 crawler-boss 的设计思路。 1 基本原理 Selenium + chromedriver 对于很多动态渲染的网页而言,想要抓取它的数据,就需要对网页的 JS 代码以及 Ajax 接口等进行分析。 而当 JS 代码混
构建高性能网站:基于软件质量属性的综合优化分析
构建高性能网站:基于软件质量属性的综合优化分析 刘梦阳 石家庄铁道大学,河北省 石家庄市 050043 摘要:本文以《高性能网站建设指南》为基础,探讨了如何根据软件质量属性的六个一级指标对网站进行综合优化分析。通过分析功能性、可靠性、可用性、效率、可维护性和安全性等方面,提出了一系列针对性的优化策略和具体操作方法。以实际案例为例,详细介绍了如何优化网站的结构、资源加载顺序、页面布局设计、前端代码和
关于Gradle的相关参数和设置
M2_HOME和GRADLE_USER_HOME变量 在$M2_HOME/conf/settings.xml文件中指定Gradle的本地仓库配置信息。 在$GRADLE_USER_HOME/caches/modules-2/files-2.1路径下保存通过Gradle下载的依赖包,Gradle可以直接使用Maven的本地仓库。 如果没有明确配置环境变量GRADLE_USER_HOME,Gradle
FastJson反序列化1-FastJson基础使用及反序列化流程分析
1、FastJson简介及使用 fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。 1.1 序列化Java Bean; 假设现在程序中有一个类User,基本信息如下(省略构造方法及get set方法): 使用fastjson将其转换为Json字符串: 1.2 反序列化
mmap访问内存方式
mmap访问内存方式 请看下面的Java代码,这段程序是取自1brc竞赛的第一名的代码。 该代码显示出了基于mmap的IO操作的高效。下面研究一下为什么这种方式高效。 mmap(memory-mapped files)比一般IO操作(如read/write系统调用)在某些情况下更快的原因主要包括以下几点: 减少数据复制: 使用mmap时,文件被映射到进程的地址空间,使得可以直接读写内存来访
原码、反码、补码以及位运算符
对于有符号的而言: 二进制的最高位是符号位:0表示正数,1表示负数(口诀0——>0,1——>-)。 正数的原码、反码、补码都是一样的(三码合一)。 负数的反码 = 它的原码符号位不变,其他位取反(0——>1,1——>0)。 负数的补码 = 它的反码 + 1,负数的反码 = 负数的补码 - 1。 0的反码、补码都是0。 Java没有无符号数,换言之,Java中的数都是有符号
六种Java线程状态及jstack命令详解
一、六种Java线程状态 新建状态(New):当创建一个Thread实例后,线程就处于新建状态。此时线程对象已经被分配了内存,并初始化了其成员变量的值。 就绪状态(Runnable):也被称为“可执行状态”。当调用了线程的start()方法后,线程就进入了就绪状态。此时线程已经具备了执行的条件,等待CPU调度执行。 运行状态(Running):当CPU调度到某个线程时,该线程就进入了运行状态。此
springboot3使用validation进行参数验证
前言 今天学习了使用validation整合springboot进行字段的校验,体验下来感觉很不错,有了validation可以省下一大堆控制器里面的数据校验,例如前端发送了一个请求到我们后端,请求中包含的数据字段一般情况下都是通过前端校验过的然后发送到后端进行处理,但是考虑到整体后端代码的可靠性和健壮性,不能100%得相信前端发送来的数据(万一某些前端数据来自一些闲的没事的人发来搞事情的呢)
VUE项目忽略ResizeObserver loop completed with undelivered notifications错误
忽略"ResizeObserver loop limit exceeded"和"ResizeObserver loop completed with undelivered notifications."两种错误。 向vue.config.js中添加以下代码: Keep it simple and stupid
Angular 17+ 高级教程 – Animation 动画
前言 Angular 有一套 built-in 的 Animation 方案。这套方案的底层实现是基于游览器原生的 Web Animation API。 CSS Transition -> CSS Animation -> Web Animation API -> Angular Animation 这 4 套方案的关系并不是互相替代,而是互相弥补。 越靠后的方案就越复
Java学习 用户交互 Scanner
Scanner 是Java5提供的新特性 可以用来获取用户的输入 需要引入import java.util.Scanner;类 基础语法: Scanner scanner = new Scanner(System.in); 可以通过Scanner类的next()和nextLine()来获取输入的字符串一般在输入前使用 hasnext()和 hasNextLine()用来判断是否有输
2023性能测试工作积累
一 理论 1、 性能调优思路:性能瓶颈点分析、关键参数调整、sql调优。调优过程中,通过系统资源、吞吐量、负载等因素来辅助分析。 性能调优流程: 确定调优范围:服务器CPU、内存、IO、网络是否已被充分利用,是否存在瓶颈点。 系统调优:目的是充分利用服务器资源,避免资源冲突,提升吞吐量。调优效果:硬件<系统配置<数据库表结构 SQL调优:通过analyze语句生成表统计信
VCTF2024-web
hackjs 看下源码: 很显然的思路,首先要进if,那就需要有个welcome的属性,然后里面让hasOwnProperty抛错,从而进入catch块,并且键值对里面还要有text==flag的东西。 首先很容易网上搜到,hasOwnProperty是来自Object.prototype的方法,如果对象内部重新写一个hasOwnProperty,再去调用的时候就会调用你自己重新覆写的has
Java学习笔记——第十八天
IO流(二) IO流-字符流 FileReader(文件字符输入流) 作用:以内存为基准,可以把文件中的数据以字符的形式读入到内存中去。 构造器 说明 public FileReader(File file) 创建字符输入流管道与源文件接通 public FileReader(String pathname) 创建字符输入流管道与源文件接通 方法名称 说明 p
HTML学习笔记7: form表单项
表单项 input 定义表单项,通过type属性控制输入形式 select 定义下拉列表 textarea 定义文本域 input text 文本框 password 密码框 radio 单选按钮 label标签的作用: 点击对应的文字按钮也会被选中, 不需要精确地点击选项按钮 将一个 
dolphinscheduler worker宕机故障转移能力源码分析
worker宕机,主要是worker上面跑的task需要及时发现及时重跑,顺着这个思路来进行源码的分析 1. MasterRegistryDataListener 这是向Zookeeper 注册的回调类,当Zookeeper数据产生变化,会回调它的notify方法 当有worker宕机时,会调用到handleWorkerEvent 会走到masterRegistryClient.removeW
Android开发笔记[12]-使用AAR方式嵌入flutter页面
摘要 使用AAR方式嵌入flutter页面. 关键信息 Android Studio:Iguana | 2023.2.1 Gradle:distributionUrl=https://services.gradle.org/distributions/gradle-8.4-bin.zip jvmTarget = '1.8' minSdk 21 targetSdk 34 compileSdk 34
说JS作用域,就不得不说说自执行函数
一个兜兜转转,从“北深”回到三线城市的小码农,热爱生活,热爱技术,在这里和大家分享一个技术人员的点点滴滴。欢迎大家关注我的微信公众号:果冻想 前言 不得不吐槽,学个JS,这个概念也太多了,但是这些概念你不懂吧,代码你都看不懂,你都寸步难行。好吧,这又遇到了作用域方面的知识盲区,然后发现,又牵扯出了自执行函数。那又能咋整,为了这点破工资,学呗。 适可而止,浅尝辄止。 JS作用域 作用域指的是一个
【Java面试题-基础知识03】Java线程连环问
1、Java中的线程是什么? 在Java中,线程是程序执行流的最小单元。每个Java程序都至少有一个主线程,也称为主执行线程,它是程序开始执行时自动创建的。除了主线程外,程序员还可以创建额外的线程来执行并发任务。 2、创建线程的方式有哪些? Java中的线程由java.lang.Thread类表示,可以通过两种方式创建线程: 继承Thread类:创建一个类并继承Thread类,在该类中重写run(
Eclipse中配置tomcat三种方式
0.原始方法 参考:war包部署到Tomcat下运行步骤 将Eclipse中javaweb工程打成war包,放在tomcat目录的WebApp下 进入bin目录下,双击startup.bat 1.使用server配置tomcat 1.1 在下方的server一栏中,右键选择新建server 1.2 选择你的tomcat版本,并点击Configure runtime environments
Weekly Contest 388
Problem A Apple Redistribution into Boxes 思路 求和-算所有苹果的和 然后将箱子从大到小排序 贪心即可 代码 Problem B Maximize Happiness of Selected Children 思路 贪心 最优解为从大到小选人 开暴 代码 Problem C Shortest Uncommon Substring in an Arr