自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L_R

  • 博客(83)
  • 资源 (1)
  • 收藏
  • 关注

原创 Testng学习笔记(一)

Testng学习笔记工具pom文件功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入工具IntelliJ IDEATestNG 6.11Mavenpom文件新建一个maven项目,引入pom依赖<?xml ve

2021-08-28 21:51:09 192

原创 jenkins下载安装及环境搭建

文章目录jenkins下载首次启动jenkins环境配置jenkins下载jenkins官网下载,输入jenkins.io,出现如下界面:点击下载,往下滑:选择这个war包下载下载完成之后,将这个war包放入tomcat目录下的webapps下面首次启动jenkins这里我是通过启动tomcat来启动jenkins的,进入到tomcat的bin目录下,执行sh startup....

2019-10-09 15:41:39 7837 1

原创 Fiddler实现手机抓包入门配置

emmm。。。在此之前我也只是听过抓包抓包,但是没有真正的接触到,Fiddler是一款很强大的抓包工具了,但是一开始很多人可能会想我一样走上歧途,所以在此总结一下,希望看到的朋友少走弯路,言归正传,走起!!介绍可能你和我一样是第一次接触,那么我们西安了解一下这款工具是干什么的?能干什么?Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数...

2019-05-10 15:55:33 675

转载 get和post的区别以及使用场景

https://blog.csdn.net/shuidinaozhongyan/article/details/72597794

2019-04-07 21:24:14 887

原创 图解SQL里面的各种join

最近在网上看面经,再结合自己的一丢丢面试经验,觉得有必要在博客里总结一下这块知识:这里我参考目录INNER JOINLEFT JOINRIGHT JOINFULL OUTER JOINLEFT JOIN EXCLUDING INNER JOINRIGHT JOIN EXCLUDING INNER JOINFULL OUTER JOIN EXCLUDING INNER JOIN先来看看在SQL中...

2019-04-07 21:00:51 1059 3

原创 Map、HashMap源码分析、ConcurrentHashMap内部实现

目录HashMapHashtableConcurrentHashMapTreeMapCollection集合的最大特点是每次进行单个对象的存储,而Map是进行一对对象的保存,并且这两个对象之间的关系是key=value的关系。这种结构最大的特点是可以通过key值找到value值。Map接口常用的方法如下:当然,Map也是一个接口,要想实例化,也需要子类,Map有四个子类:HashMap...

2019-03-24 18:11:03 221 1

原创 Collection接口详解

目录Java类集两大接口Collection接口List接口ArrayList子类(优先考虑)Vector子类(旧的子类,使用较少)LinkedList子类Set接口HashSet子类TreeSet子类Map接口Java类集什么是类集?类集实际上就是动态的对象数组,一听到数组,第一反应是长度固定,由于数组的这个缺陷,在开发过程中就很少使用了,因此为了解决这一缺陷,从JDK1.2开始,提供了...

2019-03-24 14:20:00 4174 1

原创 volatile变量的特殊规则

JVM内存模型专门对volatile定义了一些特殊的访问规则。volatile修饰的变量有两种特性保证此变量对所有线程的可见性这里的可见性,是指当一个线程对此变量进行修改,新值对于其他线程是可以立即得知的,而普通变量做不到这一点,普通变量的值在线程间的传递均需要通过主内存来完成。例如:线程A在修改了变量的值之后,要回写到主内存,而线程B在线程A回写完成之后再从主内存中进行读取,才对线程B是...

2019-03-19 21:16:04 571

原创 JVM内存区域的划分

目录程序计数器Java虚拟机栈局部变量表本地方法栈Java堆方法区运行时常量区JVM在执行程序的过程中把它管理的内存划分为若干个不同的区域,这些区域各有各的用处,一般来说,JVM管理的内存包含以下几个内存区域:这些区域有线程私有的,也有线程共享的,那么什么是线程私有?由于Java是多线程是通过线程之间的相互切换以及分配处理机时间的方式实现的,所以每一时刻,一个处理器只会执行一个线程中...

2019-03-19 10:49:32 174

原创 GC回收算法

GC就是Garbage Collection,垃圾收集,GC的对象是Java堆和方法区(永久),所谓的垃圾是指在系统运行期间产生的一些无用的对象,而这些对象占有一定的内存空间,如果长期不释放就很有可能导致OOM(内存溢出)。标记-清除算法标记清除算法是最基础的垃圾收集算法,分为标记和清除两个阶段。首先会标记出所有需要回收的对象,在标记完成后统一对需要回收的对象进行回收。如下图:在上...

2019-03-16 12:20:45 305

原创 Java内存模型

JVM定义了一种内存模型(Java Memory Model)来屏蔽各种硬件和操作系统的内存访问差异。以实现让Java在各种平台下都能达到一致的内存访问效果。主内存与工作内存Java内存模型的主要目标是定义程序中各个变量的访问规则也就是说在JVM中将变量存储到内存和从内存读取变量的底层细节。当然这里变量(实例字段、静态字段、数组对象元素),不包括局部变量和方法参数,因为这两者是私有的,不...

2019-03-12 21:45:21 137

原创 超市小助手

项目名称超市小助手项目描述基于数据库存储的电子收银台项目功能基于数据库存储的电子收银台买家可以查看商品、添加订单、取消订单、修改订单卖家可以上架商品、下架商品、修改商品信息最终付款的时候可以打印订单以及总价使用技术Java基础知识MySQL数据库JDBC编程集合框架效果展示管理员买家项目源码https://github.com/lia...

2019-03-12 14:17:09 537

原创 基于数据库存储的多人聊天室

项目名称交互式聊天室项目描述支持私聊、群聊,以数据库的方式存储用户信息使用技术java基础多线程My SQL数据库JDBC编程项目功能注册登录私聊群聊退出项目实现客户端:采用线程池调度执行服务端与客户端的业务处理逻辑客户端:采用读写线程,分别处理交互与服务器数据接收项目源码源代码见github仓库项目总结熟悉项目的开发流程(需求,分析,技术...

2019-03-03 22:45:59 2743 2

转载 Windows下Python环境的搭建(图解)

本文转载自 https://blog.csdn.net/m0_37280790/article/details/77567815个人觉得非常有用,一次到位,环境变量都直接配好了的。

2019-03-01 11:27:34 139

原创 Java多线程之ThreadLocal的特点

ThreadLocal用于提供线程的局部变量,在多线程环境里,每个线程的局部变量独立于其他线程的局部变量。也就是说 ThreadLocal 可以为每个线程创建一个【单独的变量副本】,相当于线程的 private static 类型变量。ThreadLocal 的作用和同步机制有些相反:同步机制是为了保证多线程环境下数据的一致性;而 ThreadLocal 是保证了多线程环境下数据的独立性。...

2019-02-22 17:03:38 476

原创 synchronized的优化

目录CAS操作对象头偏向锁偏向锁的获取偏向锁的撤销关闭偏向锁轻量级锁加锁解锁重量级锁总结我们知道synchronized同一时刻只能有一个线程获得对象的monitor监听器,这有时候就会导致我们的效率大大降低,所以引出了锁的优化,锁的优化也就是锁的几种状态,在这之前有两个概念需要知道:CAS操作和java对象头。CAS操作什么是CAS操作?我们平时所说的获取锁其实是一种悲观锁的操作,...

2019-02-22 16:08:31 368

原创 JAVA多线程之关键字synchronized

synchronized本意是同步的意思,那么就要先说一下同步的概念了所谓的同步是指所有的线程不是同时进入到方法中,而是按照顺序一个一个进入方法执行。使用synchronized处理有两种模式:同步代码块和同步方法...

2019-02-22 10:33:49 202

原创 JAVA多线程之生产者消费者模型

生产者消费者模型所谓的生产者消费者模型,是通过一个容器来解决生产者和消费者的强耦合问题。通俗的讲,就是生产者在不断的生产,消费者也在不断的消费,可是消费者消费的产品是生产者生产的,这就必然存在一个中间容器,我们可以把这个容器想象成是一个货架,当货架空的时候,生产者要生产产品,此时消费者在等待生产者往货架上生产产品,而当货架满的时候,消费者可以从货架上拿走商品,生产者此时等待货架的空位,这样不断...

2019-02-21 18:00:49 26203 2

原创 JAVA多线程优先级设置与获取

线程的优先级指的是,线程的优先级越高越有可能先执行,但仅仅是有可能而已。在Thread类中提供有如下优先级方法:设置优先级public final void setPriority(int newPriority)获取优先级public final int getPriority()对于优先级设置的内容可以通过Thread类的几个常量来决定:最高优先级:publi...

2019-02-20 17:12:19 1006

原创 多线程的常用操作方法sleep() yield() join() interrupt()

文章目录线程命名与获取线程的休眠(sleep()方法)线程让步(yield()方法)join()方法线程命名与获取多线程的运行状态是不确定的,所以对于多线程操作必须有一个明确标识出线程对象的信息,这个信息往往通过名称来描述。在Thread类中提供有如下的线程名称方法:我们看一段线程命名的代码:public class MyRunnable implements Runnable {...

2019-02-20 15:49:37 274

原创 JAVA之线程的状态以及多线程的实现

文章目录线程的状态多线程的实现继承Thread类Runnable接口实现多线程Thread与Runnable的区别Callable实现多线程线程的状态很多学习的科目都涉及到了线程的概念,在JAVA中也是一样的,线程有五种基本状态,五种状态及其之间的转换关系如下(重点):五种状态分别是:创建、就绪、运行、阻塞和终止。多线程的实现在JAVA中实现多线程有两种方法:继承Thread类、实现...

2019-02-19 19:40:08 160

原创 MySQL数据类型

数据类型分类数值类型tinyintmysql&gt; create table tt1(num tinyint);Query OK, 0 rows affected (0.02 sec)mysql&gt; insert into tt1 values(1);Query OK, 1 row affected (0.00 sec)mysql&gt; insert into tt1 v...

2019-02-16 13:43:48 471

原创 数据表的操作

创建表语法:CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype) character set 字符集 collate 校验规则 engine 存储引擎;说明:field 表示列名datatype 表示列的类型character set 字符集,如果没有指定字符集,则以所在数据库的字...

2019-02-14 20:59:26 134

原创 数据库的操作

创建数据库CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification]...]create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name说明:大写的表...

2019-02-11 21:16:58 131

原创 MySQL数据库基础

MySQL架构MySQL数据库是一个可移植的数据库,几乎能在各种操作系统上使用,虽然各种系统在底层的实现方式有所差异,但是MySQL基本能保证各个平台上的物理体系的一致性。SQL分类DDL,数据定义语言,用来维护数据的存储结构,代表指令:create,drop,alterDML,数据操纵语言,用来对数据进行操作,代表指令:insert,delete,update在DML中又单独分...

2019-02-11 11:48:43 178

原创 String类与StringBuffer类区别

emmmm…由于我一开始对String 、StringBuffer有点混乱,不清楚什么情况下用哪个,所以这里专门写一篇博客加深理解。在上一篇博客中我讲了String类的特点,其中有一点就是String类的常量一旦声明,不可改变,如果改变对象内容,改变的只是其引用指向而已,通常来讲,String类的操作比较简单,但是由于String类的不可更改特性,就使得我们在操作的过程中很不方便。为了方便...

2019-01-26 12:11:26 2685 3

原创 JAVA中特殊类String类

文章目录实例化方式字符串比较String类的匿名对象实例化区别字符串不可变更字符与字符串字节与字符串实例化方式既然是一个类,我们知道,一般的类在实例化的时候都是使用传统实例化方式,new一个对象,而String类中提供两种实例化方式:传统方式String str = new String(&quot;Hello Bit&quot;) ;直接赋值String str = &quot;Hello Bit&quot; ;...

2019-01-25 15:03:20 152 1

原创 抽象类与接口的区别(面试)

抽象类在很多方面与接口相似,那么它们之间有什么区别呢?在面试过程中经常会被问到见下图:除了单继承的局限之外,实际上使用抽象类和接口都是类似的。在实际开发中,抽象类的设计比接口复杂。...

2018-12-05 13:30:14 150

原创 深入理解java中的接口 (Interface)

概念我们知道java中是单继承的,这就有了很多的限制,比如我们需要多继承的时候但是不能用多继承,这时候怎么办呢?就引入了接口的概念,它弥补了java中单继承的缺陷,这一点非常的好,如果要约定子类的实现要求并避免单继承局限就需要使用接口。那么什么是接口呢?接口就是抽象方法和全局常量的集合,使用Interface关键字。定义接口如何定义?它与类又有什么区别呢?我们先来定义一个接口...

2018-12-05 13:22:12 3548

原创 深入理解java抽象类

抽象类概念在面向对象的概念中,所有的对象都是通过类来描述的,但是并不是所有的类都描述了对象,有些类里面并没有包含足够的信息来描述对象,这些类被认为是抽象类。抽象类与普通类的区别就在于抽象类不能被实例化,这就决定了抽象类必须有子类实现它的抽象方法定义与使用抽象类只是在普通类的基础上扩充了一些抽象方法而已,所谓的抽象方法指的是只声明而未实现的方法(即没有方法体)。所有抽象方法要求使用ab...

2018-12-04 14:57:35 230

原创 深入理解javaSE之final关键字(终结器)(面试重点)

final关键字含义final是java中保留的关键字,可以修饰类、方法、属性以及变量,一旦引用声明作final,那么我们将不能改变这个引用了,那么如果你尝试去改变的话,编译器会报错。final变量什么叫final变量?final变量就是用final修饰的变量,包括局部变量和本地变量,这里解释一下本地变量,本地变量就是在方法中定义的变量以及在代码块中的变量。final通常和sta...

2018-12-04 14:02:09 396

原创 javaSE之super关键字

在继承那里,我们提到过super,先来回顾一下:在子类继承父类时,子类的构造方法中首行会默认有一条语句super(),那么我们在覆写的过程中也可以用super.方法名()或者super.属性来明确指明调用的是父类的属性和方法。看一段代码吧:super调用同名的父类方法class Person{ public void print(){ System.out.pr...

2018-12-02 20:10:15 139

原创 java方法覆写(Override) 覆写与重载的区别(面试)

什么叫做方法的覆写?在上篇我描述了继承的相关知识,就是为讲述方法的覆写做铺垫的,方法的覆写就在继承关系中会产生的。如果子类定义了与父类相同的方法或属性的时候,这样的操作就称为覆写(override)方法的覆写子类定义了与父类方法名称、参数类型及个数完全相同的方法。但是被覆写不能够拥有比父类更为严格的访问控制权限。先看一个简单的例子:class Person{ public v...

2018-12-02 12:01:30 654

原创 深入理解类的继承(extends)

继承的概念在前面我们就提到面向对象的三大特性,其中之一就是继承,今天我们详解java中继承的定义。我们在写代码中有时会遇到这种情况,比如说我们要写一个Human的类,那么这个类中的属性包括姓名,年龄,性别等等,然后我们又要写一个Student的类,这个类里面也有姓名,年龄和性别以及其他的属性,这时候我们难道在每个类中都要把这三个属性写一遍吗?那么如果类有很多呢?怕是不理智吧,这样就是的代码大...

2018-12-02 10:50:04 707

原创 javaSE之各种内部类详解

文章目录成员内部类在java中,内部类主要分为四种:成员内部类静态内部类方法内部类匿名内部类成员内部类成员内部类要注意:成员内部类中不能存在任何static的变量和方法成员内部类是依附于外围类的,所以只有先创建了外围类才能够创建内部类...

2018-12-01 16:32:03 322

原创 灵活操作集成开发工具IntelliJ IDEA

文章目录介绍运行环境性能优化常用功能基本配置快捷键项目管理编辑代码运行程序调试程序介绍IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。ID...

2018-11-25 11:56:01 1939

原创 javaSE之代码块

文章目录普通代码块构造块静态代码块非主类静态块主类静态块同步代码块本篇我们将介绍一下代码块的概念,这在c语言里面是没有的,它的形式是用{}包围起来的。一般分为以下四种,我们一一详看:普通代码块什么是普通代码块?就是定义在方法中的代码块你或许之前并未留意过,我举个例子吧:public class Test{ public static void main(String[] arg...

2018-11-25 10:59:16 140

原创 javaSE之static关键字

static也是javaSE重要的关键字之一。它的作用主要体现在以下两方面:static类属性

2018-11-25 09:52:19 121

原创 javaSE中this关键字

文章目录this调用本类属性this调用本类方法this调用普通方法this调用构造方法this表示当前对象主要有以下三个方面的用途:1.this调用本类属性2.this调用本类方法3.this表示当前对象接下来我们一一详解:this调用本类属性其实在前面的博客中有用到,但是没有详细解释我们看代码吧:class Person{ private String name;...

2018-11-18 13:28:46 198

原创 javaSE中的类与对象

文章目录基本概念类与对象的定义封装和构造方法关键字private类的设计原则构造方法构造方法重载匿名对象基本概念我自己最初接触java时,自己看书就有些模糊,现在在这里梳理一下:先说类:所谓的类其实就是对一些共性的描述,具有一系列共同特征的集合。对象:那么对象是什么?对象其实就是将类具体化了,对类的描述,类说的是一个大的范围总和,对象就是类的实例化。如果到这里你还是理解不了,你可以将类...

2018-11-18 11:44:44 210

贪吃蛇完整版游戏

这是一款贪吃蛇小游戏,使用最基础的C语言实现,有简单的界面,可以通过控制方向控制蛇的移动。。。

2018-10-22

空空如也

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

TA关注的人

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