自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (8)
  • 收藏
  • 关注

原创 身份证号校验(极简版)

java实现身份证号校验(极简版)

2022-04-20 23:41:34 1041

原创 Navicat连接Oracle数据库失败

报错信息:password Expired.Please enter a new password.原因:Oracle数据库默认密码有效期为180天,Oracle数据库密码过期后,会导致连接报错。解决方法,1.修改密码。2.修改密码有效期为永久下面仅介绍第二种方法第一步:进入system用户1.如果忘记system密码(记得密码这步忽略)先登录服务器后,切换到oracle用户状态下:su -oracle (注意“-”一定要写,否则权限不够) 进入sqlplus,命令: sqlp..

2021-02-08 15:02:55 839 2

原创 selenium driver.findElements 元素操作、页面切换

selenium 元素操作selenium 窗口切换切换到iframedriver.switchTo().frame("demo");//有id,传入id.有name,传入name跳转到iframe后,返回到主窗体driver.switchTo().defaultContent();存在多个iframe,跳转到二级iframe后,返回上一级的iframedriver.switchTo().parentFrame();...

2021-01-13 16:11:45 747 1

转载 Selenium中webdriver中元素查找常用方法

Webdriver给出了多种寻找页面元素的寻找方法,如下图的自动提示所示(Selenium版本3.141.59)前提://加载浏览器驱动,定义WebDriver driverSystem.setProperty("webdriver.chrome.driver","驱动地址");//参考上一篇博文WebDriver driver = new ChromeDriver();下面我们按顺序来介绍 className className属性是利用元素的css样式表所引用的伪类名称来

2021-01-13 15:31:12 1734

原创 Selenium webdriver模拟登陆CSDN(webmagic java爬虫框架)

首先,所需jar包:链接:https://pan.baidu.com/s/1t1lcYDVS4iiTEXDacIm4Iw提取码:9l9r复制这段内容后打开百度网盘手机App,操作更方便哦

2021-01-13 11:09:59 399

原创 我的java线程相关

线程和进程多线程中sleep() wait() yield() join(), interrupt(),stop(),suspend(),setPriority()用法与区别

2019-09-17 23:38:15 112

原创 数据库SQL语句常见用法

Group by(having)解释:having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。而 having子句在聚合后对组记录进行筛选。我的理解就是真实表中没有此数据,这些数据是通过一些函数生存。select name as 姓名, count(name) as 人数,score as 分数 from st...

2019-09-17 00:20:16 445 1

原创 我的计算机网络相关

TCP/IP四层协议和TCP三次握手 计算机网络中的各种协议 Http和Https

2019-09-12 15:09:13 142

原创 我的MySQL相关

数据库常见面试题——索引 数据库常见面试题——锁 数据库常见面试题——事务

2019-09-12 14:57:40 126

原创 八大排序算法java代码、复杂度比较以及应用场景

目录八大排序算法冒泡排序插入排序归并排序快速排序基数排序选择排序希尔排序算法比较应用场景八大排序算法所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。冒泡排序基本思想:(图片转自这里)比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后...

2019-09-12 10:51:04 736

原创 操作系统常见面试题

操作系统常见面试题操作系统学习之一:进程及其状态和数据描述 操作系统学习记录之二:进程的管理及切换 操作系统学习记录之三:多线程技术 操作系统学习记录之四:内核级线程和用户级线程 操作系统学习记录之五:多线程实现的混合策略 操作系统学习记录之六:并发程序 操作系统学习记录之七:临界区 操作系统学习记录之八:进程通信 操作系统学习记录之九:死锁的产生及解决死锁的方法 操作系统...

2019-09-11 19:01:34 150

原创 SpringMVC和MyBatis

Mybatis常见面试题总结SpringMVC常见面试题总结(超详细回答)

2019-09-06 23:43:16 321

原创 java常用类库和技巧

String,StringBuffer与StringBuilder的区别(参考)String改动字符串需要重新创建字符串对象(不可变字符串,底层被final修饰)【适用情况:操作少量数据】 StringBuilder线程不安全、但是速度快,所以多数情况下建议使用 StringBuilder 类。【适用情况:多线程操作字符串缓冲区下操作大量数据】 在应用程序要求线程安全的情况下,则必须使用 ...

2019-09-05 09:42:18 196

原创 我的JVM相关

深入理解java虚拟机之Java内存区域 深入理解java虚拟机之JVM垃圾回收机制 垃圾收集算法

2019-09-04 10:47:58 111

原创 Tomcat常见面试题

记录写的好的博客Tomcat 面试题汇总 四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列! Tomcat学习总结(14)—— Tomcat常见面试题 我的总结:问:Tomcat有几种部署方式直接把Web项目放在webapps下,Tomcat会自动将其部署 在server.xml文件上配置<Context>节点,设置相关的属性即可...

2019-09-03 16:04:22 1424

原创 Java线程池

实际操作参考Executors创建的4种线程池的使用为什么需要线程池多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。线程池技术正是关注如何...

2019-08-27 16:51:46 139

原创 java多线程和线程安全——CAS

synchronized是悲观锁,CAS是一种乐观锁CAS(compare and swap)一种高效的实现线程安全性的方法支持原子更新操作,适用于计数器,序列发生器等场景 属于乐观锁机制,号称lck-free CAS操作失败时由开发者决定是继续尝试,还是执行别的操作CAS思想包含三个操作数——内存位置(V)、预期原值(A)和新值(B)...

2019-08-27 15:54:15 180 2

原创 java多线程和线程安全——java内存模型

Java内存模型JMMJava内存模型(即 Java Memory Mode,简称MM本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JMM的主内存存储Java实例对象 包括成员变量、类信息、常量、静态变量等 属于数据共享的区域,多线程并发操作时会引发线程安全问题JMM中的...

2019-08-27 15:34:29 176

原创 java多线程和线程安全——synchronized、volatile

线程安全的主要诱因存在共享数据(也称临界资源) 存在多条线程共同操作这些共享数据解决问题的根本方法:同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再对共享数据迸行操作。synchronizedsynchronized锁的不是代码,锁的都是对象互斥锁的特性互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程的协调机制,这样...

2019-08-24 22:48:38 200

原创 java 泛型详解

好的博客记录:java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

2019-08-22 23:14:43 92

原创 loadClass和forName的区别

类的加载方式隐式加载:new 显式加载:loadClass,forName(获取class之后用newInstance()方法来生成对象实例)loadClass和forName的区别类的装载过程区别Class forName得到的class是已经初始化完成的(加载数据库驱动用的就是这个) Classloder loadclass得到的class是还没有链接的(加快加载速度...

2019-08-18 23:23:45 248

原创 java类加载器(ClassLoader)

类从编译到执行的过程编译器将 Student.java源文件编译为Student.class字节码文件 Classloader将字节码转换为JVM中的Class<Student>对象 JVM利用 Class< Student>对象实例化为Student对象什么是ClassLoader它是用来加载 Class 的。它负责将 Class 的字节码形式转换成内存形式...

2019-08-18 22:21:13 204

原创 什么是java的反射机制

这篇博文讲解的非常到位:https://blog.csdn.net/sinat_38259539/article/details/71799078这篇博文写的也很优秀:https://blog.csdn.net/liujiahan629629/article/details/18013523记录一下重点:JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方...

2019-08-16 22:32:58 89

原创 Linux常见面试题

目录Linux的体系结构如何查找特定的文件find检索文件内容grep指令管道操作符 |对文件内容做统计awk指令(适合格式化的文档,类似于Excel的文档)批量替换文件内容sed指令面试中常见的用法:Linux的体系结构体系结构主要分为用户态(用户上层活动)和内核态 内核:本质是一段管理计算机硬件设备的程序(Linux启动后首先启动内核)...

2019-08-15 11:49:22 9027 3

原创 基本算法之动态规划

上接背包问题动态规划的基本步骤:最优子结构性质:找出最优解的性质,并刻画其结构特征; 建立递归关系:递归地定义最优值; 计算最优值:以自底向上的方式计算出最优值; 构造最优解:根据计算最优值时得到的信息,构造最优解。上面说到我们在分析动态规划的时候,一定要分析到造成动态规划的数组变动的参数是什么?我们看一下LeedCode第746题:我们先要知道我们的dp[]数组代表什...

2019-08-14 12:52:52 194

转载 Redis如何保证系统宕机数据不会丢失

我们都知道 Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。如下图所示,Redis 的持久化机制有两种,第一种是快照,第二种是 AOF 日志。快照是一次全量备份,AOF 日志是连续的增量备份。快照是内存数据的二进制序列化形式,在存储上非常紧凑,而 AOF 日志记录的是内存数据...

2019-08-12 11:14:14 5874

原创 线程和进程

进程是资源分配的最小单位,线程是CPU调度的最小单位进程和线程的由来串行:初期的计算机智能串行执行任务,并且需要长时间等待用户输入 批处理:预先将用户的指令集中成清单,批量串行处理用户指令,仍然无法并发执行 进程:进程独占内存空间,保存各自的运行状态,相互间不干扰且可以相互切换,为并发处理任务提供了可能 线程:共享进程的内存资源,相互间切换更快速,支持更细粒度的任务控制,使进程内的子...

2019-08-07 23:46:17 125

原创 java平台无关性

java为什么可以多平台运行Java源码首先被编译成字节码,再由不同平台的JM进行解析,Java语言在不同的平台上运行时不需要进行重新编译,Java虚拟机在执行字节码的时候,把字节码转换成具体平台上的机器指令。JVM如何加载.class文件java的反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意...

2019-08-07 16:44:57 114

原创 Redis

主流的应用架构:Redis和Memcache区别,优缺点对比Memcache:代码层次类似Hash支持简单数据类型 不支持数据持久化存储 不支持主从 不支持分片Redis数据类型丰富 支持数据磁盘持久化存储 支持主从 支持分片为什么Redis能这么快Redis的查询速度:100000+QPS(QPS即 query per second,每秒内查询次数)完全基...

2019-08-06 21:23:32 102

原创 数据库常见面试题——事务

数据库事务的四大特性(ACID)原子性(Atomic):事务包含的所有操作要么全部成功,要么全部失败回滚;成功必须要完全应用到数据库,失败则不能对数据库产生影响; 一致性(Consistency):事务执行前和执行后必须处于一致性状态, 隔离性(Isolation):当多个用户并发访问数据库时,数据库为每一个用户开启的事务,不被其他事务的操作所干扰,多个并发事务之间要相互隔离; 持久性(...

2019-08-06 11:48:37 1402

原创 Tomcat启动报错:Unable to validate using XSD

直接删除tomcat下的gunjaxp.jar 包他有可能和Spring的解析文件jar包冲突,导致项目加载错误坑了我两天。。。。。。。

2019-08-03 22:03:46 400

原创 数据库常见面试题——锁

常见问题:MyISAM与 InnoDB关于锁方面的区别是什么 数据库事务的四大特性 事务隔离级别以及各级别下的并发访问问题 InnoDB可重复读隔离级别下如何避免幻读 RC、RR级别下的InnoDB的非阻塞读如何实现MyISAM与 InnoDB关于锁方面的区别是什么MyIsAM默认用的是表级锁,不支持行级锁 InnoDB默认用的是行级锁,也支持表级锁MyIsAM默认支持的表级...

2019-08-01 11:34:02 3238

原创 数据库常见面试题——索引

如何设计一个关系型数据库索引模块为什么要使用索引快速查询数据什么样的信息能够成为索引主键、唯一键以及普通键等索引的数据结构生成索引,建立二叉查找树进行二分查找树(平衡二叉树、红黑树) 生成索引,建立B-Tree结构进行查找 生成索引,建立B+-Tree结构进行查找(MySQL) 生成索引,建立Hash结构进行查找B-Tree定义:根节点至少包括两个孩...

2019-07-31 16:38:02 9078

原创 计算机网络常见面试题

1.TCP/IP四层协议和TCP三次握手2.Http和Https的区别3.计算机网络中的各种协议补充内容:Get请求和POST请求的区别HTTP报文层面:GET将请求信息放在URL,POST放在报文体中(安全性较高,但可以解析报文,所以安全最主要还是靠HTTPS) 数据库层面:GET符合幂等性(对数据库的一次操作或者多次操作的结果是一致的)和安全性(对数据库的操作没有改变数据...

2019-07-30 21:20:38 172

原创 背包问题

回溯法回溯法类似于穷举法,可以被认为是一种有剪枝(约束函数,如01背包问题中的背包容量)的DFN(深度优先搜索)。运用回溯法解题的关键要素有以下三点:针对给定的问题,定义问题的解空间; 确定易于搜索的解空间结构; 以深度优先方式搜索解空间,并且在搜索过程中用剪枝函数避免无效搜索。问题举例:01背包问题有编号分别为1,2,3,4的N=4件物品,它们的重量c分别是3, 2, 4,...

2019-07-30 15:02:59 150

原创 Spring与AOP系列五:AspectJ对AOP的实现

对于AOP这种编程思想,很多框架都进行了实现。Spring就是其中之一,可以完成面向切面编程。然而,AspectJ也实现了AOP的功能,且其实现方式更为简捷,使用更为方便,而且还支持注解式开发。所以,Spring又将AspectJ的对于AOP的实现也引入到了自己的框架中。1.AspectJ简介AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,它有一个...

2019-07-28 22:13:54 279

原创 Spring与AOP系列四:自动代理生成器

1.自动代理生成器前面代码中所使用的代理对象,均是由ProxyFactoryBean代理工具类生成的。而该代理工具类存在着如下缺点:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://...

2019-07-28 20:33:44 199

原创 Spring与AOP系列三:顾问(Advisor)

通知(Advice)是Spring提供的一种切面(Aspect)。但其功能过于简单:只能将切面织入到目标类的所有目标方法中,无法完成将切面织入到指定目标方法中。顾问(Advisor)是Spring提供的另一种切面。其可以完成更为复杂的切面织入功能。PointcutAdvisor是顾问的一种,可以指定具体的切入点。顾问将通知进行了包装,会根据不同的通知类型,在不同的时间点,将切面织入到不同的切入...

2019-07-28 17:09:44 394

原创 Spring与AOP系列二:通知(Advice)

通知(Advice),切面的一种实现,可以完成简单织入功能(织入功能就是在这里完成的)。常用通知有:前置通知、后置通知、环绕通知、异常处理通知。1.通知的用法步骤定义目标类 定义通知类 注册目标类 注册通知切面 注册代理工厂Bean类对象ProxyFactoryBean 客户端访问动态代理对象 在容器中的整体配置2.通知详解(1)前置通知MethodBeforeAdvic...

2019-07-28 16:07:38 356

原创 Spring与AOP系列一:AOP简介

1.AOP简介AOP底层,就是采用动态代理模式实现的。采用了两种代理:JDK的动态代理,与CGLIB的动态代理。其中jdk的Proxy需要目标类实现接口,否则用CGLIB在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也...

2019-07-28 14:23:44 138

centOS7.6离线安装nginx

新安装centOS7.6安装nginx所需依赖包 安装方案 离线安装nginx1.22.1

2023-09-05

AspectJ对AOP的实现.rar

对于AOP这种编程思想,很多框架都进行了实现。Spring就是其中之一,可以完成面向切面编程。然而,AspectJ也实现了AOP的功能,且其实现方式更为简捷,使用更为方便,而且还支持注解式开发。所以,Spring又将AspectJ的对于AOP的实现也引入到了自己的框架中。

2019-07-29

用户自定义异常.rar

通过Spring面向切面编程(AOP)来定义用户自定义的异常,包含用户名和密码错误的异常抛出

2019-07-28

Spring与IoC系列四:基于注解的依赖注入.rar

Spring与IoC系列四:基于注解的依赖注入。对于DI使用注解,将不再需要在Spring配置文件中声明Bean实例。Spring中使用注解,需要在原有Spring运行环境基础上再做一些改变

2019-07-26

Spring与IoC系列三:基于XML的依赖注入测试程序di.rar

基于XML的依赖注入测试程序,配合博客资源学习。是基于XML的依赖注入方法的测试程序!

2019-07-25

beanAssemble.rar

包括bg01:bean的默认装配方式、bg02:动态工厂Bean、bg03:静态工程Bean、bg04:容器中Bean的作用域、bg05:Bean后处理器、bg06:定制Bean的生命始末

2019-07-23

TCPIP基于Socket的网络通信(实现qq的功能)

本文档设计主要设计了一个带有注册登录功能的聊天程序,已经登录的用户可以选择群聊或者是私聊进行聊天,界面友好,功能完善!

2018-04-27

贪吃蛇java实现以及解析(内含jar文件可直接运行)

贪吃蛇游戏是经典游戏,既简单又耐玩。通过控制蛇头方向吃食物,使得蛇变长,从而获得积分。设计程序用到Java绝大部分的基本思想,是对java程序设计的一个很好地总结和应用

2018-04-27

人脸识别代码和分析报告

使用主成分分析PCA、独立成分分析ICA、BP神经网络使用matlab代码实现一个人脸识别的系统

2018-04-27

空空如也

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

TA关注的人

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