自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 临时抱佛脚系列

1.JVM调优对JVM内存的系统级调优主要目的是减少GC频率和Full GC的次数。1)监控GC的状态,使用各种JVM工具,查看当前日志,并且分析当前堆内存快照和GC日志,根据实际情况看是否需要优化。2)通过JMX的MBean或者Java的jmap生成当前Heap信息,并使用Visual VM或者Eclipse自带的Mat分析dump文件。3)如果参数设置合理,没有超时日志,GC频率GC耗时都不高,则没有GC优化的必要,如果GC频率很高或者GC时间超过1秒,则必须优化。4)调整GC类型和内存分配,

2020-11-12 22:35:03 187

原创 网络安全

1.防范常见的Web攻击1)什么是SQL注入攻击?攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造并在数据库中执行。用户登录时,输入用户名:root,密码:‘’or‘1’=‘1’。如果此时使用参数构造的方式,就会出现select * from user where name =‘root’ and password = ‘’ or ‘1’ = ‘1’。此时不管用户名和密码是什么内容,查询出来的用户列表都不为空。如何防范SQL注入攻击?web端:

2020-11-10 16:42:26 447 1

原创 几率大的杂乱+操作系统

1.Bean的生命周期?1)创建阶段(Created):分配存储空间,构建对象,初始化。2)应用阶段(In Use):对象至少被一个强引用使用着。3)不可见阶段(Invisible):该对象不再被任何强引用持有。4)不可达阶段(UNreached)5)收集阶段(collected):如果该对象重写了finalized()方法,则会去执行方法的终端操作。6)终结阶段(Finalized):等待垃圾回收器对该对象空间进行回收。7)重新分配阶段(De-allocated):所占用的内存空间进行回收或

2020-11-07 11:56:01 115

原创 多线程

1.进程和线程的区别?根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。地址空间:同一进程的线程共享本进程的地址空间,而进程之间是独立的地址空间。关系:一个程序至少一个进程,一个进程至少一个线程。2.Thread和Runnable的关系?Thread是实现Runnable接口的类,使得run支持多线程,因为类的单一继承原则,推荐多使用Runnable接口。如果一个类继承Thread,则不适合资源共享;但实现Runnable接口的话,就很容易实现资源共享。Runnab

2020-11-04 21:10:30 292 2

原创 Linux命令

1.显示日期:data2.命令补全或文件补齐:Tab3.中断目前程序:Ctrl+C4.改变权限:chmodu,g,o,a表示user,group,other,all这四种身份的权限;+表示加入,-表示减去,=表示设置;r表示读,w表示写,x表示执行;4读2写1执行。例如:chmod u+rwx5.目录.表示当前目录;…表示上一层目录;—表示上一个工作目录;~表示当前用户身份所在的主文件夹。6.切换目录:cdcd 相对路径或绝对路径7.新建目录:mkdirmkdir [-mp] 目

2020-10-28 18:07:33 60

原创 MySQL

1.MyISAM和InnoDB有关索引的疑问?MyISAM(非聚集):使用B+树作为索引结构,叶子结点的data域存放的是数据记录的地址。MyISAM中索引检索的算法首先按B+树搜索索引,如果指定的key存在,则取出data域的值,然后以data域的值为地址去读取相应的数据记录。InnoDB(聚集索引):InnoDB的数据文件本身就是索引文件,这棵树的叶节点data域保存了完整的数据记录。但是辅助索引搜索需要检索两遍索引:首先检索辅助索引获得主键,然后用主键在主索引中检索得到记录。因为InnoDB的数

2020-10-22 23:48:50 202

原创 SSM框架

1.为什么使用Spring(优缺点)?(1)方便解耦,简化开发(IOC:通过Spring提供的IOC容器,将对象间的依赖关系交由Spring控制,避免过度耦合)(2)AOP编程的支持(Spring提供的AOP功能方便进行面向切面编程)(3)声明式事务的支持(4)方便程序的测试(Spring对Junit4支持,可以通过注解方便调试)(5)方便集成各种优秀框架(Spring不排斥各种优秀的开源框架Struts,Hibernate)2.Spring容器创建对象的时机第一种:默认情况下,Spring在

2020-10-08 16:12:06 414

原创 Redis面试题

1.Redis持久化机制Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过将硬盘文件重新加载到内存,就能达到恢复数据的目的。实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,释放内存。两种持久化方式:1)RDB是Redis默认的持久化方式,按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的

2020-10-04 11:18:05 98

原创 JVM面试

JVM面试1.JVM三大性能调优参数-Xss:规定每个线程虚拟机栈(堆栈)的大小-Xms:堆的初始值-Xmx:堆能达到的最大值JVM 几个重要的参数:-server -Xmx3g -Xms3g -XX:MaxPermSize=128m-XX:NewRatio=1 新生代(Eden + 2*S)与老年代(不包括永久区)的比值-XX:SurvivorRatio=8 2个Survivor区和Eden区的比值-XX:+UseParallelGC-XX:ParallelGCThreads=8-X

2020-09-29 21:54:11 190

原创 JVM

JVM面试题1.什么情况下会发生栈内存溢出?思路: 描述栈定义,再描述为什么会溢出,再说明一下相关配置参数。答:1.栈是线程私有的,他的生命周期与线程相同,每个方法在执行的时候都会创建一个栈帧,用来存储局部变量表,操作数栈,动态链接,方法出口等信息。局部变量表又包含基本数据类型,对象引用类型2.如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError异常,方法递归调用产生这种结果。3.如果Java虚拟机栈可以动态扩展,并且扩展的动作已经尝试过,但是无法申请到足够

2020-09-28 22:08:54 76

原创 实习内容

代码# -*- coding:utf-8 -*-# 背景检测import cv2# 这里修改要检测图像的路径img = cv2.imread('C:/Users/simao.wang.HIRAIN/Desktop/test05.jpg')gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)def mouse_click(event, x, y, flags, para

2020-09-11 15:39:11 391

转载 链表反转理解

对单链表反转的图解原始链表:反转过程:第一步:next = head.next将 head.next 赋值给 next 变量,即next 指向了节点2,先将节点2 保存起来。第二步:head.next = pre (初始pre==None)将 pre 变量赋值给 head.next,即 此时节点1 指向了 None第三步:pre = head将 head 赋值给了 pre,即 pre 指向节点1,将节点1 设为“上一个节点”第四步:head = next将 next 赋值给 head,即

2020-07-21 10:20:40 260

原创 车辆仪表指示灯检测

1.采用简单的模板匹配方法,将需要检测的指示灯截取成模板,然后再在输入图片中进行模板查找,此做法只适用于模板不旋转不缩放的情况,所以通用性不高,但速度快。还能返回指示灯的灰度化后的数值,值越大说明灯越亮。在这里插入代码片import cv2import numpy as npfrom matplotlib import pyplot as pltprint(cv2.version) # 3.4.2img = cv2.imread(‘C:/Users/simao.wang.HIRAIN/Deskto

2020-07-17 18:05:42 958

原创 车辆仪表指针读数

本章记录实习期间做的车辆仪表检测程序中有关指针读数有关的问题和解决方案。有关指针读数中最重要的部分为圆盘检测和指针检测,可以利用opencv库自带的霍夫曼圆检测来解决圆盘识别的问题,但要针对圆的半径大小去设置检测半径参数,如果设置不合理,检测效果就不理想,所以事先需要人为经验去估计圆盘的半径大小。识别出圆盘位置以后,要解决的问题就是指针识别,这里可以运用霍夫曼直线检测,但在直线检测之前要先对图像进行预处理,这里我使用的是CV2中的Canny()函数提取出图像的边缘信息,然后再将图像进行直线检测。如果用阈值

2020-07-16 11:03:02 501

空空如也

空空如也

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

TA关注的人

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