自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿权的博客

欢迎您的到访

  • 博客(71)
  • 收藏
  • 关注

原创 Java10如何调用C/C++的库jna具体详解

文章目录第一步 导入jna的依赖(就是jni本地方法接口,调用c,c++的库来实现的)第二步,创建自己的DLL第三步第一步 导入jna的依赖(就是jni本地方法接口,调用c,c++的库来实现的) <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>5.5.0</version>

2020-12-02 17:34:49 1408

原创 Redis和MySQL数据一致性问题

文章目录解决办法: 延时双删策略先修改数据库,再删掉缓存缺点: 若数据库修改失败,缓存依旧还是没删掉,后边用户读到的依旧是Redis中的脏数据先删掉缓存,再修改数据库缺点: 并发条件低时可以使用,并发一旦起来,a线程删除缓存后,还没来得及更新数据库,切换到b线程,b线程发现缓存为空,就又去数据库又读回啦脏数据并写入,后边用户读到的依旧是Redis中的脏数据;解决办法: 延时双删策略删掉缓存修改数据库延时几百毫秒再删掉缓存...

2020-11-27 14:11:54 1209

原创 逆向学习速览-汇编基础篇

根据窗口句柄及基地址获取某一地址的值#include<stdio.h>#include<Windows.h>int main() { // 根据窗口名获取进程句柄 HWND hWnd = FindWindowA(NULL, "扫雷"); //存放窗口进程id DWORD dwPid = -1; //存放读取的值 int tmp; //根据句柄获取进程id GetWindowThreadProcessId(hWnd, &dwPid); //根据进程i.

2020-10-14 17:37:54 1275 1

原创 HashMap的底层实现原理解读

哈希表的初始化1.HashMap<String, Integer> map = new HashMap<>();当创建HashMap集合对象的时候,在jdk8前,是在HashMap的构造方法中创建一个长度是16的 Entry[] table 用来存储键值对数据的。在jdk8以后不是在HashMap的构造方法底层创建数组了,是在第一次调用put方法时创建的数组 Node[] table 用来存储键值对数据,来看jdk1.8后的源码其中HashMap的部分变量成员先列出来//一个

2020-08-09 18:55:42 514

原创 go的大杂烩

文章目录初始化mod项目初始化mod项目任意文件夹下新建工程目录,之后idea工具打开在项目根路径下执行go mod init 根文件夹(我这里是src)然后在代码里写入如你需要的包,之后go mod tidy 就会像java中maven auto import那样自动导入依赖的包完事!...

2022-03-21 11:12:55 514

原创 Node.Js爬虫

感觉js写爬虫比python更方便,爬数据果然还是要弱语言才有效率创建简单的Node工程,利用axios发送请求安装node创建示例代码//创建服务,监听8887端口var http = require('http');const axios = require('axios');http.createServer(function (request, response) { //axios设置header const axiosLearn= axios.create({

2021-11-22 16:35:58 570

原创 VUE大杂烩

一篇好文章 如何用electron技术将Vue项目打包成exe可执行文件需要工具1. node版本>122. vue版本>2.x3. 魔法上网工具不满足条件的先去升一下,再继续下边的操作执行步骤

2021-08-13 11:38:56 1772

原创 阿里飞冰使用教程-前端低代码可视化GUI速开发

飞冰可以帮你干什么?以往建立前端工程,需要许多繁琐的步骤,现在使用飞冰,他可以直接帮你搭出一个架子,你在这个架子的基础上再开发就行,并且使用飞冰,你的前端页面完全可以通过GUI可视化自己拼接而成,类似QT,并且飞冰还提供了许多页面模板,直接套能省去很多重复的劳动,因为我是搞Java的,前端的东西懂的不是很深,所以这个工具给偏后端的人用简直完美.更新VSCODE到新版本,在VSCODE扩展中下载AppWorks插件;使用模板创建一个新的工程 : 后续懒得自己总结了,看这个教程吧,很全阿里飞冰

2021-07-29 12:16:58 1334

原创 PythonGUi程序开发

使用Python进行窗口程序的开发,开发工具Pyside2,Pyinstaller工具python3.7.9https://wws.lanzoui.com/i7hiwpzc3vg密码:bep1Pyside2安装方式: pip install pyside2 -i https://pypi.mirrors.ustc.edu.cn/simple/采用中国科学技术大学的镜像安装Pyinstaller负责打包发布程序用的...

2021-06-09 22:54:48 1210 2

原创 关于油猴插件的使用

Js脚本练习一标题1百度页码自动点击翻页遇到的问题标题1百度页码自动点击翻页遇到的问题当页面跳转到另一页面后,剩下的js代码不执行

2021-05-11 14:33:25 2118

原创 IDEA常用插件推荐

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-05-07 08:35:17 1489

原创 Java热点知识回顾第一期

目录1 反射1.1 静态代理1.2 jdk动态代理1 反射最经典的就是代理模式啦,代理就好比是放了一个你的克隆人一样,但这个克隆人比你的功能更强,能放出一些你没有的招式,这个克隆人就叫就是你的代理对象;代理又分静态代理和动态代理1.1 静态代理直接点来说就是仅仅特定的为某个类做增强,一旦再新来个类,还另需再建代理,不灵活;1.2 jdk动态代理灵活,建立的代理类可增强任意类;怎么创建一个代理对象可以从下边考虑接口 2. 实现类 3. jdk动态代理类实现invocationhandler

2021-03-26 11:16:18 85

原创 SVN及Git的详细操作

文章目录主要操作篇SVN拉取代码到本地SVN提交文件/代码到远程仓库SVN删除文件/代码到远程仓库SVN更改文件名到远程仓库个人对于SVN的看法,拉取代码到本地后,本地的我叫它本地仓库,我们可以通过commit提交更改本地仓库文件的方式来改变远程仓库的结构主要操作篇SVN拉取代码到本地鼠标右键,选择SVN检出版本库URL填你要拉取代码的地址检出至目录填拉取代码存放的位置SVN提交文件/代码到远程仓库前提在拉取的文件夹中才能做更新/删除/添加操作选中任意一个想要添加的文件,右键单击to

2020-12-07 17:01:00 506

原创 Python全局键盘鼠标钩子pynput的使用及在监控鼠标时无法模拟移动鼠标的BUG的解决方案

文章目录捕捉鼠标捕捉移动/点击/滑轮下的鼠标捕捉鼠标捕捉移动/点击/滑轮下的鼠标# coding=utf-8from pynput.mouse import Controller, Listenermouse = Controller()print('The current pointer position is {0}'.format(mouse.position))mouse.move(5, -5)def on_move(x, y): # 监听鼠标移动 print('

2020-12-04 13:09:59 2057

原创 如何Git上传自己的项目

文章目录git相关如何上传自己的项目git相关如何上传自己的项目首先进入你的github先创建一个仓库,复制ssh连接随便找个目录, git clone +你的ssh连接地址 拉取远程仓库到本地cd进入本地仓库目录将所需要提交的项目文件复制进本地仓库,再git add . 代表将仓库所有文件放置暂存区;之后再提交 git commit -m "描述信息"git push -u origin master 把本地仓库push到github上面,此步骤需要你输入帐号和密码...

2020-11-20 21:04:39 217

原创 Linux环境下安装Redis及远程控制redis

首先导入jedis的包

2020-11-13 17:18:10 1132

原创 吐槽下csdn的分类数量限制

简简单单的只是想吐槽csdn的分类数量限制,就给20个,应该是新上线的,原来还没这限制的,我去,20个分类够谁用啊,不说spring全家桶啦,java那么多体系知识,就给20个分类,呵呵,建议直接删掉分类系统,去大杂烩一锅炖吧...

2020-11-11 20:46:30 875 5

原创 SpringSecurity快速上手

pom文件导入SpringSecurity依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>创建一个配置类,继承WebSecurityConfigurerAda.

2020-11-11 17:31:54 314

原创 开发中你离不开的网站

文章目录前端方面ElementUi模板王接口方面RAP2前端方面ElementUi一个基于Vue 2.0的组件库,使用它你可以快速开发出一套属于你的优美前端界面;网址 elementUi官网模板王一个集成很多静态优美前端页面的网站,很方便一些访问github体验差的同学;网址 模板网接口方面RAP2RAP2,一个阿里妈妈维护(属于阿里集团)的提供方便的接口管理的网站,有啦它,你的假数据不需要在你的后端上去造,你只需要在这网站上设计好你的接口,并造一些你需要的数据,访问它

2020-11-07 16:38:43 1110

原创 Java内部类的常见疑问

文章目录成员内部类静态内部类局部内部类局部内部类常见问题局部内部类是否可在其他方法里new出?匿名内部类java内部类有四种,成员内部类,静态内部类,局部内部类,匿名内部类成员内部类* 成员内部类访问权限 - 成员内部类可以访问外部类的所有成员(静态及非静态方法,变量)* 成员内部类的生成 - 须借助外部类生成定义格式如下:package poyimima.test;import org.junit.Test;import poyimima.dimidir.Father;publ

2020-11-05 17:28:01 235

原创 算法踩坑记录,气死啦

踩坑目录二分循环条件情况的忽略递归计算目标时忽略掉参数需进入下一层才能利用二分循环条件情况的忽略力扣原题 排序数组查找元素//正确代码 class Solution { public int[] searchRange(int[] nums, int target) { int leftindex=0,rightindex=nums.length-1; int []num=new int[2]; num[0]=-1;

2020-10-17 23:29:20 409

原创 springmvc面经

文章目录概述说下你对springmvc的理解springmvc的优点概述说下你对springmvc的理解springmvc是一种轻量级的web框架,它通过分离model,视图,控制层实现啦降耦,将复杂的逻辑变得更加清晰,方便啦开发springmvc的优点清晰的角色分配,例如前端控制器,处理器映射,视图控制器等,简化开发能够集成spring...

2020-10-11 23:11:42 288

原创 spring面经

spring必看面经Spring AOPSpring IOC依赖注入概念 :spring beans概念 :bean的注入方式bean的作用域bean的自动装配Spring AOPaop代理模式分两种静态代理以Aspect aop为代表,其原理是在编译时期,将aspect切面加入到程序字节码文件中,直接修改字节码的内容动态代理,不直接修改字节码的内容,而是生成一个代理对象,此对象包含目标的所有方法,通过代理对象调用目标方法时,就会走代理对象内的方法,完成切面,动态代理又分两种jdk动态代理

2020-10-10 23:21:57 371 1

原创 mysq必看面经

sql优化可以考虑从下边几个方面说硬件 数据库的设计 外键 索引及sql语句的书写 字段 读写分离 引入缓存数据库的设计遵循三大范式,避免数据冗余外键外键会降低mysql的效率,尽量避免使用sql语句的书写1 可以用EXISTS替代IN,否则会导致全表扫描2 避免where字句中使用表达式,否则mysql不会使用索引3 可以使用连接查询代替子查询4 只查询想要的字段,避免使用select *,数据多时可以使用limit进行数量限制,字段良好的字段设计可以提升sql查询的效率

2020-10-07 21:25:08 567 1

原创 Java集合方法汇总-力扣刷题必备

- 栈创建栈 Stack stack=new Stack();判断栈是否为空stack.empty();取出栈顶的元素,不弹出注意,元素取出时是object类型,需进行类型强转stack.peek();取出栈顶的元素,弹出stack.pop();存入元素stack.push(元素);栈的大小stack.size();-数组String[] strs={“1”,“2”};长度表示strs.length;...

2020-09-27 15:26:08 1401

原创 CE的使用

按序找基址植物大戰僵尸地址+偏移=目标最終地址 15A98AC0->阳光数量1級地址 033A1C80->15A93560+5560=15A98AC02级地址 006a9ec0->033A1518+768=033A1C80006a9ec0是基址

2020-09-23 16:54:15 1708

原创 用Java实现按键精灵的操作

第一步 导入jna的依赖(就是jni本地方法接口,调用c,c++的库来实现的) <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>5.5.0</version> </dependency> <dependency> <groupId&gt

2020-08-31 19:04:08 3639 1

原创 JVM基础知识回顾总结

JVM内存模型

2020-08-30 14:47:49 1115

原创 多线程面经

线程和进程的区别线程只能属于一个进程,而进程可以创建多个线程,且最少创建一个主线程进程是资源分配的基本单位,线程是系统调度的基本单位,线程是真正的执行体线程的五个状态1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。3、运行状态(Running):就绪状态的线程获取了CPU

2020-08-25 19:01:53 431

原创 pom中resource的作用

<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properti...

2020-08-24 10:39:40 3245

转载 javax.servlet.ServletException: Circular view path......Check your ViewResolver setup! SpringBoot

代码块@Controllerpublic class Usercontroler { @Autowired Userservice userservice; @GetMapping("/1") public void test1() { User user = userservice.finduser(); System.out.println(user.name); }}返回的是一个User,但是抛了ServletExce

2020-08-24 09:29:04 419

转载 mybastis报出 Invalid bound statement (not found)的错误解决方案

转载 原作者在实际项目,搭建mybatis会爆出 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 这个错误非常的头疼,如图1,不知道为什么mybatis就是找不到对应的xml文件情况一:mapper.xml没有按照传统的maven架构进行放置传统的maven架构目录可以参考博主的另外一个博文:https://www.jianshu.com/p/477ad2e14150如果我们的mappe

2020-08-23 21:22:05 186

原创 Java中易忽略的一些基础语法

举例 int j = -1; while (j >= 0&&arr[j]==0){ }这样程序是会正常运行的,但如果反过来就不行,会报错的 int j = -1; while (arr[j]==0&&j >= 0){ }

2020-08-19 18:59:14 177

原创 总结下所有的排序

快速排序(是种不稳定的排序,因为会打乱原有的排序)直接引用百科的话,其思想是1)设置两个变量i、j,排序开始的时候:i=0,j=N-1; [1]2)以第一个数组元素作为关键数据,赋值给key,即key=A[0]; [1]3)从j开始向前搜索,即由后开始向前搜索(j–),找到第一个小于key的值A[j],将A[j]和A[i]的值交换; [1]4)从i开始向后搜索,即由前开始向后搜索(i++),找到第一个大于key的A[i],将A[i]和A[j]的值交换; [1]5)重复第3、4步,直到i=j; (

2020-08-18 16:29:04 204

原创 Mybatis标签使用回顾

look here 添加链接描述

2020-08-14 14:51:30 232

原创 制作一个运行java程序的bat命令

cd 到该程序目录java -jar 运行该程序pause 可暂停cmd窗口,不秒退

2020-08-13 12:46:40 246

原创 关于动态规划的一些个人理解

动态规划解决的就是需要重复的过程 dp数组 存储已经算过的重复的值还需要抽象化事物的能力,列出状态方程,找到第一个突破点,之后逐步击破到答案

2020-08-11 19:56:24 184

原创 自己关于递归的一些理解

递归是一种抽象的概念,比如当我们想要完成某一递归函数DFS()的功能时,你可以先假设这个DFS()已经有你想要的功能啦,之后再书写边界条件,然后再书写具体功能的实现,不关注过程,只关注结果,当然前提在有点思路的情况下这里拿力扣的一道回溯算法题举个例题目链接: 添加链接描述这道题就是求最小平方和的个数,我们可以先设定一个空的DFS()函数,假设这个函数已具备返回平方和的最小个数的功能书写,功能抽象化先直接放下别人的图捋个思路这时候就很明显啦,父亲结点的最小个数即DFS(父)就是众多子节点中DFS

2020-08-11 12:17:57 162

原创 Idea调试时断点停在想要的参数(神技)

打断点再右键单击,在condition中填需要的条件,这样就不需要再一步一步的重复跳啦

2020-08-10 19:52:33 1579 1

原创 回顾Mysql易忘的数据类型及常用语法

文本类Text最多存储65535个字节时间类TIMESTAMP4个字节储,TIMESTAMP格式也是’YYYY-MM-DD HH:MM:SS’这样的,与DATETIME不同的地方是,它的年份取值范围是1970-2037DATETIME8个字节储存;实际格式储存;与时区无关;datetime 以’YYYY- MM-DDHH:MM:SS’格式检索和显示DATETIME值。支持的范围为’1000-01-01 00:00:00’到’9999-12-31 23:59:59’INT在只

2020-08-08 14:00:56 134

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除