- 博客(59)
- 收藏
- 关注

原创 JAVA开发-各种框架常用注解
新人小白,刚接触注解几天,每天都在搜索各种注解的意思,这里根据网上其他的人资料,自己整理了一下各个框架的常用注解,只是最基本的一个概念,没有代码演示例子啥的,有些归类可能不太对,如果有错误还请大家指出来。一、Spring常用注解大全注解就相当于XML文件中的<bean id=””class=”/>使用注解就不用去写配置文件,spring这些框架帮我们去写XML配置文件。5....
2019-05-09 11:30:00
2502
1
原创 软考-软件设计师-面向对象
抽象工厂(接口)抽象产品(接口)具体(实际)工厂(实现类)具体(实际)产品(实现类)注:实际上,客户端就引用了抽象产品,并未引用任何实际产品。这里在客户端还创建了实际工厂,如果把创建工厂的代码放到AbstractFactory中,就可以连实际工厂也屏蔽了(只是屏蔽,也就是客户端是和实际工厂和抽象产品打交道)。适用场景:客户端(应用层)不依赖于产品类实例如何被创建、实现等细节;强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码;
2025-03-21 16:03:51
803
原创 软考-软件设计师-软件工程基础
事件六的最晚开始时间的计算步骤:先从事件1逐步进行推进,如事件1到事件2最早需要时间加2,事件2到事件5则再需要加2(此时最早时间等于4),而事件1到事件6需要的最早执行时间为3,事件4到事件6的最早时间为4,因此取时间长的为事件6的执行时间(原因是事件六的执行需要事件3和4共同作用),以此类推,事件9所需最早时间为15,再由事件9逆推回来15-4-1=10即为事件6的最晚开始时间。过程是按照组织的裁剪指南从组织的标准过程中裁剪得到的,还必须收集过程资产和过程的度量,并且用于将来对过程的改进。
2025-03-21 15:58:15
866
原创 软考-软件设计师-操作系统
进程: 程序的一次执行过程,是一个动态概念,是程序在执行过程中系统进行资源分配和调度的基本单位,程序是一个静态概念。线程: CPU调度和分派的基本单位,它可与同属一个进程的其他的线程共享进程所拥有的全部资源。线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。同一进程中的各个线程都可以共享该进程所拥有的资源。p操作:挂起进程,申请操作,资源-1;v操作:唤醒进程,释放资源,资源+1。P操作:执行 P 操作的进程将进入等待队列;
2025-03-21 15:36:21
790
原创 软考-软件设计师-法律法规
谁先申请商标归谁,同时申请时谁先使用谁拥有,无法证明使用时间则协商归属,协商无效的使用抽签,必须确定出一个归属人,必有定论。专利归属也必有定论,协商不成则两件申请都不授予专利权?非公民作品的官方文件不受著作权保护。比如法律被人在2013年翻译,2014年官方出了官方翻译版本,则2014年开始该人翻译版本不受著作权保护。开发软件思想、处理操作、概念不受保护,否则技术无法发展。主要界定一个产品是归单位所有还是归个人所有。发表即公之于众,不一定要出版或刊登。
2025-03-21 15:34:01
139
原创 软考-软件设计师-网络与信息安全基础知识
在信息传输中,若甲与乙进行信息传输,内容被丙截获,进而篡改后再发送给乙,则会造成信息错误,因此,若甲在将信息传输给乙的同时传输一个摘要,乙收到信息后将摘要翻译出并与之比较,则能够判断信息是否被篡改。信息摘要的算法为单向散列函数(单向Hash函数),可以把明文形成摘要,但是无法反向得到明文,摘要是具有破坏性的加密手法。对称加密:加密解密的密钥一样,大文件;非对称加密:公钥加密,私钥解密,小文件;信息摘要:原文和摘要同时发送,接收方对比摘要;
2025-03-21 15:32:55
768
原创 软考-软件设计师-计算机网络
该题考察的是局域网和广域网的差异问题。A选项中计算机P和计算机Q是用网桥连接起来的,网桥是二层设备,因此P和Q在同个局域网内。B选项中计算机P和计算机S中间隔了个路由器,路由器是三层设备,局域网不能透过三层去传输网络信息,因此P和S之间的路径不能通过。C选项中计算机Q和计算机R连接在同一个网桥下,但是隔了个集线器,集线器是一层设备,因此Q和R可以互通。D选项中计算机S和计算机T之间是通过交换机连接的,并不影响之间的通信。
2025-03-21 15:30:51
945
原创 软考-软件设计师-计算机组成与体系结构
1、R进制转十进制:按权展开,将每一位数字用Rk表示然后相加,k与该位与小数点的距离有关,小数点左边第一位为0,右边第一位为-1,往左递增,网往右递减,如:二进制数10100.01=1*2^4+1*2^2+1*2^-2。2、十进制转R进制: 短除法,即将十进制数除以R再取余,直至余数为零,然后将余数由下往上按顺序排列,小数位乘以R,每乘一次就取它的整数位(整数位为零时就取零),直至小数位为零,然后将取得的整数位由上往下排列即可。例如将94转为2进制:3、二进制转八进制或十六进制:将二进制数以小数点为界向左及
2025-03-21 14:57:26
612
原创 mysql 8 安装
使用JDBC会有时区问题, 要改成东八区default-time_zone='+8:00'将解压后的文件放入MySQL的bin目录下,再次运行net start mysql。未在my.ini中设置免密码登录时,去data\xx.err找密码。变量值:D:\mysql8\mysql-8.4.3-winx64。备注:可配置免登录检查skip-grant-tables。备注:删除命令:mysqld -remove。变量值:%MYSQL_HOME%\bin。变量名:MYSQL_HOME。安装命令:进入bin目录。
2025-03-14 15:25:53
348
原创 Python+Appium编写脚本
Appium Server没有界面,但是有Appium Inspector,这个工具已经从Appium Desktop中独立出来了,它可以定位UI元素,返回元素xpath,录制自动化流程并返回流程的脚本代码,Appium 1版本是Appium Desktop的这种,Appium 2 直接就使用包管理器安装Appium Server,Appium官方已经不推荐使用Appium Desktop可视化工具了,因为它存在严重的安全隐患,而且官方已经不再迭代新的版本。
2024-11-08 11:00:51
2401
1
原创 ElasticSearch+Kibana 8.1.0安装部署
Windows环境通过百度网盘分享的文件:ElasticSearch+Kibana链接:https://pan.baidu.com/s/14Bf9AkRjf5igaa10e18OWA?pwd=1rmh提取码:1rmh下载后解压命令都在bin目录下用cmd执行。
2024-10-12 17:04:44
1071
原创 Postgres主键自增时重复键违反唯一约束
新增的数据的id跟表里面的数据id重复了,这种一般是手动导入数据或者复制表等情况造成的,直接修改表的序列为当前最大的id,这样插入的时候就从这个数值开始+1,就不会重复了。SELECT setval('序列名', (SELECT max(主键) FROM 表名));
2023-11-09 10:49:06
1446
原创 负载均衡详解
负载均衡可以简单分为服务端负载均衡和客户端负载均衡这两种。最常见的是四层和七层负载均衡七层负载均衡比四层负载均衡会消耗更多的性能,不过,也相对更加灵活,能够更加智能地路由网络请求,比如说你可以根据请求的内容进行优化如缓存、压缩、加密。简单来说,常用的七层负载均衡解决方案:DNS 解析和反向代理在工作中,我们通常会使用来做七层负载均衡,LVS(Linux Virtual Server 虚拟服务器, Linux 内核的 4 层负载均衡)来做四层负载均衡。
2023-07-12 16:59:20
1221
原创 使用NumberFormat对Double数值保留两位数小数点
问题:报异常Could not write JSON: For input string: "15,012.69",当整数位是三位数的时候是正确的,大于三位数的时候就会产生异常。解决:调用NumberFormat的setGroupingUsed传值为false,控制NumberFormat千位分组,不让他进行分组。数值比较小时没有问题,但是数值较大后就出现异常,这是因为NumberFormat默认会把达到千位数值以分号,进行分割。需求:对double数据类型的值进行保留两位数小数点的操作。
2023-05-16 10:55:51
1017
原创 线程的理解
个人记录用例子: 仓库搬货送货一个仓库有一个管理员(CPU)负责取货,仓库有100箱货(资源),管理员要管理这些货,现在要人(线程)把仓库的货全部搬到车上然后送到目的地,假设只有一个人1搬货,一次搬1箱,就需要搬100趟,线程搬出仓库门的时候,管路员就暂时空闲了,这是时候如果不利用起来不是就浪费了?这个时候就可以变成多线程,一个线程搬货要花100分钟,如果有10个线程,那就只需要花10分钟就搬完货了。
2023-04-24 16:59:33
514
转载 Redis分布式锁的实现和原理
当多个线程并发操作某个对象时,可以通过synchronized来保证同一时刻只能有一个线程获取到对象锁进而处理synchronized关键字修饰的代码块或方法。既然已经有了synchronized锁,为什么这里又要引入分布式锁呢?因为现在的系统基本都是分布式部署的,一个应用会被部署到多台服务器上,synchronized只能控制当前服务器自身的线程安全,并不能跨服务器控制并发安全。分布式锁,就是控制分布式系统中不同进程共同访问同一共享资源的一种锁的实现。
2023-03-29 12:08:22
335
原创 postgis库创建表,查询数据等基本操作
注意:在创建表的时候会指定类型,一旦确定类型则无法更改如,如此时mytable(写的时候是my_test_table表,整理的时候重新命名成mytable表了)表则不能插入线类型数据,不然会报错。如果需要存放点线面等各种类型要素的时候,可以采用geometry类型。
2023-03-28 15:51:40
1669
原创 PostGIS 操作geometry方法
点:POINT(0 0)线:LINESTRING(0 0,1 1,1 2)面:POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))多点:MULTIPOINT(0 0,1 2)多线:MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4))
2023-03-28 15:04:46
1464
原创 GIS的一些简单算法(自己作记录用,不全)
1、简单的线相交算法算法1:快速排斥与矢量跨立快速排斥。以线段为对角线作正矩形,判断两矩形是否相交。如两矩形交进行矢量跨立,排除两线段共线且只有一个交点情况。矢量跨立。如两线段相交,必然互相跨立。算法2:参数方程法建立线段参数方程,通过判断参数情况得到线段是否相交,可以得到交点。
2023-03-22 16:25:18
981
原创 kkFileView在线文件预览
kkFileView - 在线文件预览1. 环境要求Java: 1.8+ OpenOffice或LiberOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)2. 部署运行1). 物理机或虚拟机上运行从码云发行版本下载最新版发行包 解压kkFileView-x.x.x文件(Windows用.zip包,Linux/MacOS用.tar.gz包) 打开解压后文件夹的bin目录,运行startup脚本(Windows下以管理...
2022-03-02 10:22:48
1831
3
原创 postgres数据库分组排序后再取第一条数据
postgres数据库分组排序后再取第一条数据,最后再分页需求:先根据企业ID分组,然后按时间倒序,取每一组的第一条数据,最后再进行分页。select * from(select row_number()over(partition by company_id order by create_time desc) row_id,* from company_changewhere company_id in (437846971400192,440551493844992,437...
2021-12-23 12:05:22
5162
原创 windows bat脚本 启动和停止程序
start.bat@echo offsetlocal EnableDelayedExpansionrem 以管理员方式运行cmdPUSHD %~DP0 & cd /d "%~dp0"%1 %2mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof:runasrem fill in your
2021-12-14 16:00:05
8484
原创 Comparator.reversed()颠倒排序时,使用lambda报错
List<Employee> list = employeeService.listByIds(idList);1、list.sort(Comparator.comparing(o -> new BigDecimal(o.getContributionProportion())).reversed());目的:对list中元素的属性做操作之后进行颠倒排序,使用lambda表达式报错,提示:Cannot resolve method 'getContributionPropo.
2021-12-06 14:48:30
5495
1
原创 Minio 对象存储使用简单入门
官方文档:MinIO Quickstart Guide| Minio中文文档1、简介Minio 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。Minio是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。2、容器安装...
2021-09-24 11:46:08
22437
15
原创 Git推送本地文件或项目到远程仓库
1. git init //初始化仓库2. git add xxx.xx //添加文件到本地仓库3. git commit -m "提交xxx文件" //添加文件描述信息4. git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支5. git pull origin master --allow-unrelated-histories// 把本地仓库的变化连接到远程仓库主分支注:本地和远程有不同的commit历史,需要强行合并。...
2021-09-08 14:43:08
1836
原创 springboot 项目自定义日志输出配置logbcak.xml
使用logback日志框架配置自定义的输出日志到文件中。springboot 默认集成了log4j2和logback框架,因此不需要在pom添加依赖。通常情况下springboot项目,只需在src/main/resources下添加logback-spring.xml即可。注意:配置文件名为logback.xml,则使用的是property配置文件名为logback-spring.xml,则使用的是springPropertySpring Boot官方推荐优先使用带有-spring的文件名
2021-08-25 14:12:26
1914
2
原创 Shell脚本
Shell脚本第一个shell脚本程序变量定义变量使用变量重定义变量只读变量删除变量变量类型特殊变量Shell中的替换命令替换变量替换Shell运算符关系运算符布尔运算符字符串运算符文件测试运算符Shell字符串单引号双引号拼接字符串获取字符串长度提取子字符串查找子字符串处理路经的字符串Shell的数组定义数组读取数组获取数组的长度Shell echo命令显示变量显示换行显示不换行显示结果重定向至文件shell printf命令Shell if else语句Shell case esac语句Shell 的循
2021-08-17 17:44:17
185
原创 Mybatis-plus+Oracle+主键自增策略+Error getting generated key......报错
这里写自定义目录标题问题解决方案拓展阅读1、MyBatis-Plus内置支持的数据库主键序列2、MyBatis-Plus主键策略3、mybatis-plus版本不同,oracle序列配置不同4、Orcale11 主键自增策略重点看解决方案第三个即可问题在数据库使用postgres和oracle的同时,最开始设置的是主键ID自增,@TableId(value = “id”, type = IdType.AUTO)private Long id;用的mybatis-plus的底层的方法插入数据,po
2021-07-30 15:25:04
2862
2
原创 Windows查看java进程和端口并杀死进程
Windows环境下,查看java的进程ID和端口号,并杀死进程1、查看全部任务列表tasklist仅查看java任务列表tasklist | findstr "java"2、查看进程号与端口号(PID)的关联netstat -ano仅查看指定端口号的连接信息netstat -ano | findstr "6001"3、终止进程方法一:利用进程的PID结束进程taskkill -PID 进程号 -F/F指的是强行结束例:taskkill -PID 18416 -F方法二
2021-07-29 09:53:32
13036
原创 JAVA后台实现文件批量下载
工具类: private static final String FILE_PATH = "F:\\test";/** * 批量下载文件 * * @param list 批量文件集合(前端只传id集合,后端去查数据库拿到文件信息) * @param request request * @param response response * @param <T> 实体类 extends BaseEntityPoJo
2021-07-16 17:21:48
11041
8
原创 根据多边形坐标做相交的空间查询
根据多边形坐标做相交的空间查询oracle数据库的sde用户中的某表,表有字段shape,要做的是一个空间查询,根据一系列的坐标集合查询满足在这个多边形中的数据信息,与arcgis中的相交查询一样,画个多边形,然后相交,只不过这里是在数据库中用sql语句去查。—速度较慢select * from 表名 t where sde.st_intersects(t.shape, sde.st_geometry('polygon ((34628122.07
2021-07-01 17:40:32
728
数据库系统:从模式、设计到范式与并发控制的全面解析及其应用
2025-03-21
网络与信息安全基础知识:理论及关键技术综述
2025-03-21
法律法规:各类知识产权(著作权、商标权、专利权)的保护机制、主体权利与侵权行为分析
2025-03-21
面向对象:详解面向对象的基础、UML和常见设计模式的应用与实践
2025-03-21
程序设计语言:编译原理、文法、自动机及表达式分析
2025-03-21
软件工程基础: 生命周期、开发模型、方法与测试
2025-03-21
计算机网络:网络模型、协议与设计
2025-03-21
计算机组成与体系结构:进制转换及计算机数据表示与处理
2025-03-21
操作系统:进程管理、存储管理及设备管理详解
2025-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人