diary
文章平均质量分 63
windy46
这个作者很懒,什么都没留下…
展开
-
C位出道队20210913
一、每日一算法 -Bubble Sort冒泡排序简述Bubble Sort冒泡排序:对于给定n个元素,从第一个元素开始,将相邻的元素两两比较,当前面的元素大于后面的就交换位置,进行一轮比较后,n个元素中最大的元素将位于第n位,然后对前(n-1)个记录进行第二轮比较;重复该过程直到进行比较的元素只剩下一个为止。public class BubbleSort { public static void selectSort(int[] a){ int i; .原创 2021-09-14 00:28:59 · 112 阅读 · 0 评论 -
Oauth授权机制实战
Oauth全称为Open Authorization。OAuth协议为用户资源授权提供了一个安全的、开放、而又简易的标准。一、常见的重要流程有:(设OECP为第三方服务端开发系统,支付宝为开放OAuth认证服务提供商)1.开始用户访问OECP2.OECP请求支付宝的登录页面3.用户扫描登陆二维码(确认输入登录信息),输入账号始终在支付宝页面4.支付宝返回登录结果(不包含用户敏感信息)5.OECP返回登录状态二、应用场景:支付宝用户授权阿里云使用其支付宝账号..原创 2020-10-12 11:27:21 · 521 阅读 · 0 评论 -
BIO、NIO、AIO及衍生出的Netty
JAVA的I/O模型一、BIOBIO全称Blocking IO,它作为传统I/O模型,是同步阻塞的。特点: 1.无连接请求时,accept方法阻塞 2.无数据可读取时,read方法阻塞BIO引发的问题: 严重的资源浪费1.线程的创建和销毁成本很高,在Linux这样的操作系统中,线程本质上就是一个进程。创建和销毁都是重量级的系统函数。2.线程本身占用较大内存,像Java的线程栈,一般至少分配512K~1M的空间,如果系统中的线程数过千,恐怕整个JVM的内存都会被吃掉...原创 2020-08-08 17:33:11 · 125 阅读 · 0 评论 -
【快速排序QuickSort研究】快排的双路实现以及注意要点
一、双路快排思路 基于单路快排的基础上,若排序的数组中的元素重复多,所选的标定点是极度不平衡的话(数组两边位置不平衡),那么快速排序的时间复杂度会下降到O(n的2次方) 不平衡的情况:换个思路:设标记点为v,将小于v和大于v的两部分放到数组的两端,设j为大于v下一个数组要扫描的位置,设i为小于v下一个数组要扫描的位置,比如说扫描到中间的状态,如下图那么,我们将从i位置向后扫描,当元素仍然小于v时继续向后扫描,直到碰到大于等于v的元素同样,从j位置向前扫描,当元素仍然...原创 2020-08-07 22:32:07 · 314 阅读 · 0 评论 -
【快速排序QuickSort研究】快排的基础实现
1)快排的原理是什么? 1.从数组中选取一个元素作为基准,快速地将该基准排到数组中合适的位置 (该基准的左边都是比该基准小的数,该基准的右边都是比该基准要大的数) 2.按照该基准位置对数组进行拆分,拆分后的数组按照同样地方法进行排序和拆分,直到整个数组有序。2)快速排序的核心代码实现(单路):private static void quickSort(int array[],int l ,int r){if(l>=r){...原创 2020-08-07 21:22:18 · 150 阅读 · 0 评论 -
2020.01.30~01.31 部署阿里云相关记录
相关参考:xshell连接服务器无法用password登录,只能用public key的解决办法使用xshell连接阿里云远程服务器(图文教程)xftp可以连接阿里云,22端口就可以了 选择sftplinux openjdk1.8安装报错:configure: error: The path of JAVA_HOME_PROCESSED, which resolves ...原创 2020-01-30 15:16:29 · 370 阅读 · 0 评论 -
String#intern()方法
前言:创建String对象时实际产生了多少个对象?说明: String s = new String(“abc”);创建了2个对象第一个对象,内容“abc”,存储在常量池中第二个对象,内容“abc”,存储在堆中String常量池在不同JDK版本的位置JDK6String常量池保存到Perm区。Perm区主要存储一些加载类的信息、静态变量、方法片段、常量池等。He...原创 2019-11-15 21:40:34 · 258 阅读 · 0 评论 -
再一次给未来的自己
无法接受残酷的命运但我想给自己转个弯,再一次加油,重新认识自己吧原创 2019-07-19 13:22:33 · 86 阅读 · 0 评论 -
腾讯云环境CentOS 7.5 搭建tomcat8和java1.8
一、使用XShell登录远程服务器二、开始安装环境 (离线)【在线就跳过在第三步】yum -y install lrzsz 使用rz命令,弹出上传框后,将jdk-8u60-linux-x64.tar.gz 和 apache-tomcat-8.5.34.tar.gz分别上传上云服务器tar 修改 /etc/profile 文件按G移到文件最后保存并退出::wq ...转载 2018-10-07 17:27:10 · 428 阅读 · 0 评论 -
Ant的安装和使用
Ant是基于Java的生成工具,用于管理整个项目的编译、生成。特点:①Ant工具使用XML文件来编写生成文件 ②跨平台、简单、易用P.S Ant提供了"exec"核心任务,这个任务允许执行特定操作系统上的命令Ant包的结构:bin:可执行性命令 etc:样式单文件 lib:Ant的核心类库 manual:相关文档 LICENSE:说明性文档使用A...原创 2018-10-14 15:00:45 · 175 阅读 · 0 评论 -
【EveryDay算法题】First Day
从尾到头打印链表输入一个链表,按链表值从尾到头的顺序返回一个ArrayList/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }...原创 2018-12-24 14:42:17 · 155 阅读 · 0 评论 -
把maven管理的web项目在tomcat上运行,使用idea工具搭建
为了要好好深入弄懂为什么idea这么难部署tomcat(经常404),我需要重新建项目了解一下原理首先file->new project,进到这页面为了节省时间,我们套用一下maven模板,然后点击nextSNAPSHOT是快照的意思点击next确认一下maven配置,点击nextfinish之后整个项目页面就出来了,当然现在仅仅是使用maven的...原创 2019-01-04 11:11:22 · 253 阅读 · 0 评论 -
Windows查看某个端口被占用,并且终止这个端口的占用
我之前开了tomcat其中占用了8787和1099的端口,现在莫名其妙还没有关掉使用netstat -ano在命令行查看端口情况对应的PID是10268输入 tasklist|findstr 10268 可以看到是java.exe占用了方法一、选择任务管理器,点击详细信息-点击PID(就会按升序排列)找到10268的PID,就可以kill掉啦方法二、使用命令行kil...原创 2019-01-06 11:12:42 · 906 阅读 · 10 评论 -
Git连接Github并上传项目代码
所谓标题的话一定要写得好看一点,不能太直接,不然就俗了是不是连接github的注意事项第一步:首先要在本地建立公钥对,生成.ssh目录,.ssh目录下有这两个东西如果没有的话,打开命令行,输入如下命令(Window下打开Git Bash): ssh-keygen -t rsa -C “84*******@qq.com”id_rsa是私钥,不能泄露出去,id_rsa.pub是...原创 2019-01-02 11:29:13 · 223 阅读 · 2 评论 -
Cannot load supported formats: Cannot run program "Z:\TortoiseSVN\bin\svn.exe
重装svn后我的svn.exe不见了,要修复一下搞定原创 2019-01-28 12:05:12 · 921 阅读 · 0 评论 -
使用Eclipse作为SVN客户端
首先去EclipseMarketplace下载Subclipse插件,我的版本是4.2.4EclipseMarketplace打不开见上一篇解决办法Subclipse插件安装时会最小化,所以要注意它安装到哪里,不要以为最小化就安装好了!如果是第一次使用:import...输入SVN资源库的URL【svn资源库应该早就建好的,没建好的话就去自学SVN服务器配置】选...原创 2018-09-10 14:02:32 · 295 阅读 · 0 评论