- 博客(31)
- 资源 (4)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JAVA动态代理对Mybatis的个人理解
动态代理看这篇文章很详细:https://www.cnblogs.com/gonjan-blog/p/6685611.html上述是正常动态代理的思路来看看Mybatis的源码简单调用一下mybatisSqlSession sqlSession = factory.openSession();//我们来分析sqlSession.getMapper(UserMapper.class);UserMapper mapper = sqlSession.getMapper(UserMapper.class
2020-11-12 17:33:34
157
2
原创 SpringBoot源码简单剖析(1)启动流程分析
SpringBoot源码简单剖析(1)启动流程分析由于作者水平有限,仅做简单剖析,有错误欢迎大佬们指出文章目录SpringBoot源码简单剖析(1)启动流程分析一、创建一个SpringBoot二、分析SpringApplication(primarySources).run(args)第一步:获取并启动监听器第二步:准备容器的环境第三步:创建容器第四步:异常报告第五步:准备容器第六步:刷新容器结尾一、创建一个SpringBoot最常用得入口如下一路Debug进去此处是Spring
2021-02-18 16:26:05
188
原创 线程池的如何实现复用的
文章目录前言一、线程池如何使用?二、线程的执行1.execute执行分析启动线程小于核心线程数时当前启动线程等于核心线程数时,就是不需要再新增线程时,此时需要复用2.Worker是什么总结前言相信大家都用过线程池,就是线程池先创建一堆线程,然后进行复用,这就不禁引人思考,是如何进行复用的提示:本文只是简单剖析,并没有考虑拒绝策略一、线程池如何使用? 很简单/**public ThreadPoolExecutor(int corePoolSize,
2021-01-27 17:28:34
428
原创 Object对象在内存的布局
先使用个工具 JOL使用该工具打印已经打印出Object对象的内容下面来分析一下先来看看布局MarkWord: 8个字节ClassPointer : 四个字节实例数据:N个字节对齐:不定由于JVM一般允许在64位的操作系统上,因此总线的宽度为64bits 也就是 8 字节 ,因此对于数据的读取每次8字节是最方便的,因此出现了padding 的操作使对象大小补齐到8的倍数,又因为JVM默认开启了字节压缩(UseCompressedClassPointers,UseCompress
2021-01-02 17:28:56
237
原创 uniapp通过Sts上传文件到阿里云OSS兼踩坑记录(APP端)
1.先说说需求由于本人的服务器较为辣鸡,前端上传到服务器后再上传到Oss比较难受,因此采用前端直传,但是呢,为了安全我采取了阿里云的STS策略,详情请移步到:https://help.aliyun.com/document_detail/100624.html?spm=5176.12818093.0.dexternal.312f16d0q3Ox9r一切想得很美好,好了,开始踩坑2.踩坑开始本人后端采用的是JAVA。总体来说后端的坑比较少第一次踩坑(我觉得不太行):刚开始满怀欣喜看得阿里云的的js
2020-11-20 17:37:21
2890
6
原创 哈夫曼数(JAVA)
参考https://baijiahao.baidu.com/s?id=1663514710675419737&wfr=spider&for=pcpackage HuffmanTree;import java.lang.reflect.Array;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;public class C
2020-10-28 14:17:49
152
原创 堆排序(JAVA)
参考:https://www.cnblogs.com/0zcl/p/6737944.htmlpackage tree;import java.lang.reflect.Array;import java.util.Arrays;public class HeapSort { public static void main(String[] args) { int arr[] = new int[] {1,3,54,6,7,8,2,3,5,7,89,8,5,4,3,55,-
2020-10-28 11:45:02
78
原创 Android Studio入门--activity的生命周期
1.Acticity的生命周期onStart()onCreate() 退出后,Activity 将进入“已启动”状态,并对用户可见。此回调包含 Activity 进入前台与用户进行互动之前的最后准备工作。onResume()系统会在 Activity 开始与用户互动之前调用此回调。此时,该 Activity 位于 Activity 堆栈的顶部,并会捕获所有用户输入。应用的大部分核心功能都是在 onResume() 方法中实现的。onResume() 回调后面总是跟着 onPause() 回调。o
2020-09-25 15:20:14
1138
原创 Android开发入门——根据官方文档的尝试
1.查找官方文档百度搜索 Android Developer,进入网站2.构建首个应用1.创建Android项目1、下载Android Studio在官网上下载最新的Android Studio2、打开Android Studio用过IDEA的小伙伴一定会对这个界面十分熟悉,接下来按部就班,在 Welcome to Android Studio 窗口中,点击 Start a new Android Studio project。在 Select a Project Template 窗口
2020-09-25 11:08:25
109
原创 归并排序
参考https://blog.csdn.net/doubleguy/article/details/81390951package sort;import java.util.Arrays;public class MergeSort { public static void main(String[] args) { int arr[] = {3,-9,-1,-10,-2,9,66,99,666}; int[] temp = new int[arr.len
2020-07-29 21:04:35
105
原创 快速排序(JAVA)
参考https://blog.csdn.net/qq_28584889/article/details/88136498package sort;import java.util.Arrays;public class QuickSort { public static void main(String[] args) { int arr[] = {3,-9,-1,-10,-2,9,66,99,666}; quickSort(arr,0,arr.length
2020-07-29 16:54:03
85
原创 希尔排序(JAVA)
思路参考:https://blog.csdn.net/qq_39207948/article/details/80006224package sort;import java.util.Arrays;public class ShellSort { public static void main(String[] args) { int arr[] = {3,-9,-1,-10,-2,9,66,99,666}; shellSort(arr);
2020-07-29 15:51:59
96
原创 插入排序(JAVA)
类比打扑克洗牌插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。package sort;import java.util.Arrays;public class InsertSort { public static void main(
2020-07-28 23:40:48
82
原创 选择排序(JAVA)
选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]arr[n-1]中选取最小值,与arr[i-1]交换,…, 第n-1次从arr[n-2]~arr[n-1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有
2020-07-28 23:06:14
86
原创 冒泡排序(java)
基本版package sort;import java.util.Arrays;public class BubbleSort { public static void main(String[] args) { int arr[] = {3,-9,-1,-10,-2,9,66,-8}; BubbleSort bubbleSort = new BubbleSort(); bubbleSort.bubbleSort(arr); .
2020-07-28 21:48:09
100
原创 中缀表达式转换为后缀表达式(java)
依旧用了两个栈的方式来实现,实现步骤如下(1)先判断是不是(),若是(则直接进栈,如果是)则弹出辅助栈的元素直到遇到((2)判断辅助栈是不是为空,若是空直接进栈,若不是空则先判断优先级,若优先级等于或者小于栈顶的优先级,则把栈顶的符号进到主栈,再打当前符号进入到辅助栈,若当前优先级大于栈顶元素,则直接进栈(3)那就是数字,直接进主栈(4)把辅助栈的全部转移到主栈(5)利用辅助栈进行翻转代码如下:package stack;import java.util.Optional;/** *
2020-07-26 00:14:12
135
1
原创 用栈实现简易计算器(JAVA)
用栈实现简易计算器package stack;import java.util.Optional;public class Calculator { public static void main(String[] args) { String expression = "300+2*6-1"; // 创建两个栈,数栈和符号栈 CalStack numStack = new CalStack(10); CalStack op
2020-07-24 17:47:44
814
4
原创 JAVA版本的栈
栈是一个特殊的线性表,最明显的特征是后进先出。可用于翻转数据、实现递归等等功能1.用数组实现栈(1)定义一个top来表示栈顶,初始化为-1(2)入栈操作,top++;stack[top] = data;(3)出栈操作,value = stack[top] ,top–package stack;import java.util.Scanner;public class ArraryStackDemo { public static void main(String[] args)
2020-07-24 17:47:16
93
原创 JAVA版本的链表
链表链表的特点:与普通的数组不同,它在内存上的分布并不是连续的,而是分散的,可以利用更多内存的零散空间(1)链表是以节点来储存,也可以想象成一个节点对象(2)每个节点有data域用于储存数据,next域用于指向下一个节点,若是双向链表,还会有head域,指向上一个节点单向链表首先设计一个节点为了更好的服用,先设计一个节点父类@Datapublic class ListNode { ListNode next; public ListNode() { th
2020-07-23 16:05:22
115
原创 JAVA版本的队列
队列1、数组模拟队列(1)队列本身是序列表,若使用数组来储存队列的数据,需要声明MaxSize,即该队列最大容量(2)队列的输入输出从前后端来处理,用front和reae分别来记录队列的前后端,当插入数据时,front不变,rear变;当输出数据时,rear不变,font变(3)当指针font = rear时表示队列为空,当rear = maxSize-1时,表示满了代码如下:package queue;import java.util.Queue;import java.util.Sc
2020-07-22 23:25:05
140
原创 JAVA版本的稀疏数组
稀疏数组的核心思想是把无意义的数据去掉,只保留有用的数据,实现压缩的效果举例用一行来表示行和列和有多少有效数据,其他用来表示该有效数据的位置二维数组转为稀疏数组的思路1.遍历原始的二维数组,得到有效数据的个数SUM2.根据SUM就可以创建稀疏数组sparseArr int[sum+1][3]3.将二维数组的有效数据存入稀疏数组--------------------------------------------------------------稀疏数组转为原始二维数组的思路1.先读
2020-07-22 17:59:35
130
原创 用socket接受postman的请求遇到的问题
这是只能接受短连接,用postman发请求时会报错,且没有获得数据,原因是postman是默认使用长连接,会先发一次没有任何请求信息的请求,只有普通的TCP连接,需要用长连接的方式去接收,即使用多线程去accept,简单如下:...
2020-07-21 17:02:44
2325
1
原创 Vue作用域插槽
<el-table-column label="状态"> <template v-slot="scope"> <!-- scope.row代表该行属性 --> {{scope.row}} </template> </el-table-column>...
2020-06-29 22:31:04
83
原创 v-model和$refs区别
showEditDialog (userInfo) { this.editForm.loginAcct = userInfo.loginAcct this.editForm.email = userInfo.email this.editForm.telephone = userInfo.telephone this.editDialogVisible = true }, editDialogClose () { this.$re.
2020-06-22 22:38:05
1344
原创 Cosr跨域问题,springboot下
@Configurationpublic class CorsConfigConfig { private CorsConfiguration corsConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); /* 请求常用的三种配置,*代表允许所有,当时你也可以自定义属性(比如header只能带什么,只能是post方式等等) */ corsConf
2020-06-18 16:58:36
479
原创 CSS的基本使用 --display属性
常见的display属性div 就是block属性,称为块元素,而span元素为inline,称为行内元素inline:行内元素,没有宽高,独占一行block:独占一行inline-block:行内块状元素,具有宽高属性且不会独占一行。none:隐藏元素visibility:hidden和display:none和opacity(透明度):0区别:...
2020-06-16 13:53:07
125
原创 CSS的基本使用----定位属性
1、position定位position属性是指定一个元素(静态,相对,绝对)的定位方法的类型先看看原来的1.相对定位position=relative<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>相对定位</title> <style type="text/css"> div { width: 12.5rem
2020-06-16 13:15:49
115
原创 阿里巴巴矢量图标库的使用
1、创建项目2、把想要的图标添加进库3、添加至项目4、选择font class且复杂代码到对应html文件中引入css<link rel="stylesheet" type="text/css" href="https://at.alicdn.com/t/font_1887330_jnnjgj5e8qk.css"/>在对应的标签上引入<i class="icon-RectangleCopy iconfont"> 注意iconfont必须添加...
2020-06-16 11:42:22
419
原创 CSS布局基本使用--float浮动属性
CSS的基本使用浮动属性:1、浮动定位:将元素排除在普通流,且不占据页面空间,浮动元素位于在包含框内,且位于包含框的左边或者右边。2、浮动的框可以左右移动直到它的外边缘碰到包含框的边缘或者另一个浮动框的框框。3、浮动元素不能超过其父的内边缘,浮动元素不会互相重叠,浮动元素不会上下浮动,且浮动后display属性将会时效但可以设置宽高,且不会独占一行4、一但浮动属性生效,display时效,且宽高会生效,如span标签没有宽高但一但float:xxx生效则具有宽高语法:float:none|lef
2020-06-15 22:30:33
466
原创 阿里云服务器安装redis并实现远程登录
阿里云服务器安装redis并实现远程登录下载redis#偷懒用yum下载yum install redis配置redis.confvim /etc/redis.confprotected-mode no #设置成no,允许远程访问bind 127.0.0.1 -》 #bind 127.0.0.1 注释掉改行,上面的protected-mode一定要改,不然这里白搭防火墙设置firewall-cmd --zone=public --add-port=6379/tcp --per
2020-06-11 18:00:56
456
ssm后台管理系统框架(Spring mvc + mybatis + mysql + easyui )
2018-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人