自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA基础知识:java中的内存模型

内存模型:栈(stack):存储局部变量,方法的执行区 ----------------------- 存放在栈内存中的变量是没有初始值的。栈:先进后出结构;堆(heap):实例化(new)的对象(变量)------------------- 存储在堆内存中的元素是有初始值的;堆:完全二叉树结构; 基本数据类型:初始值就是默认值; ...

2020-03-14 21:09:49 208

原创 JAVA编程基础知识:单元测试、断点调试以及反编译工具

目录1.单元调试:JunitText2.断点调试:Debug3.反编译工具1.单元调试:JunitText单元测试的使用背景: 我们现在要想执行一个方法,只能从main方法中开始,有一定的弊端: 必须要创建对象才能调用非静态的方法。使用junittest 工具类可以不通过main方法让我们的程序直接执行。单元测试的使用步骤:(高版本的eclip...

2020-03-14 21:08:42 299

原创 JAVA常用特性:反射机制

反射:反射的本质就是通过一段字符串得到一个类的字节码文件,随后可以进行属性,方法等的操作。需要依赖Class工具类,反射可以用来解耦合;反射可以用来进行功能的拓展。配置文件的读取:1.通过类加载器2.通过创建文件夹的方式 ................. ?129.如何获取一个类的字节码对象得到字节码对象clazz的方式有三种:1).对象名.getC...

2020-01-30 18:50:31 229

原创 JAVA WEB知识框架整理

以下是学习WEB开发过程中需要用到的知识,对其进行了一点简单的整理,作为了解WEB开发流程的参考:Web前端与后台的交互依靠于:html页面表单中<form action="abs_path">标签中的后台程序路径以下是上数据内容整理的相关路径:1.html语言的入门学习2.jsp动态页面的入门学习3.网页样式CSS组件的简单使用4.javaScrip...

2019-08-09 14:16:41 378

原创 JAVA WEB基础一 : RPC远程过程调用

RPC是什么 ? 网上是这么解释的 :RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。基于java实现的RPC通讯框架,底层使用j...

2019-07-21 23:00:12 293

原创 JAVA常用类(二):String类、StringBuffer类和StringBuilder类的使用

String类、StringBuffer类和StringBuilder类StringBuffer类与StringBuilder类:1. StringBuilder类是线程不安全的(效率高);StringBuffer类是线程安全的(效率较低);2. StringBuffer类与StringBuilder类内的方法时一样的,作用一样,但线程效果不一样。String类与StringBu...

2019-04-10 23:19:07 317

原创 JAVA面向对象:封装性案例的实现

封装特性:封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。优点:隐藏实现细节,提供公共的访问方式; 提高了代码的复用性; 提高了安全性。封装原则:将不需要对外提供的内容都隐藏起来; 把属性隐藏,提供公共方法对其访问。封装步骤:1.成员变量私有化; ...

2019-04-10 23:18:07 709

原创 JAVA面向对象:多态案例的实现

多态性:定义:某一个事物,在不同环境下表现出来的不同状态。多态的三种形式:普通类的多态、抽象类的多态、接口的多态。 ------------------------------类是根源的抽象,接口是功能的扩展。使用前提:1. 有继承关系 2. 方法的重写 3. 父类的引用指向子类的对象(向上转型)优点:提...

2019-04-10 23:17:47 397

原创 JAVA常用类(一):Object类相关方法的说明

API的概念:API:Application Programming Interface,应用程序编程接口。本质是:程序的说明书是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。比如:手机上的语音识别/面部识别都是使用已经定义好的API来进行识别的。Java API:Java提供给我们使用的类,这些类将...

2019-04-10 23:17:27 262

原创 JAVA中JDK8新特性:

目录1.lambda表达式:2.stream的用法:3.DateApi类:4.接口新特性:1.lambda表达式:java中的函数式接口都可以使用lambda表达式来表示,所谓函数式接口(Functional Interface)是指包含一个方法的抽象接口(SAM)。格式:lambda表达式实际上就是代码块的传递的实现(parameters) -> expre...

2019-04-10 23:16:21 216

原创 JAVA面向对象:面向对象的相关基础知识

面向对象(OO.object-oriented):定义:把现实中的事物抽象成由一系列属性和行为组成的结构体,每个结构体都有属于自己的功能,在软件开发的过程中,通过对不同功能的结构体进行组合,完成整个软件功能。且结构体可复用。简单说:面向对象是对现实世界的一种抽象模仿。相关语言:object-C(IOS开发)、java(单继承)、C++(多继承)、scala。另外C语言是面向过程的语言。...

2019-04-10 23:15:59 183

原创 数据结构(一):前言

数据结构处理的问题是:数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据或者修改数据数据结构 + 算法 = 程序不同的应用 ---选择 --> 合适的数据结构8种常见的数据结构:数组 栈 队列 链表 图 树 前缀树/字典树 哈希表更多内容来自:https://baijiahao.baidu.com/s?id=1609911567564...

2019-04-03 23:20:18 170

原创 排序算法(六):归并排序算法及其优化分析

1.归并排序算法将两个有序数列合并成一个有序数列称为归并......归并排序算法:将无序数组不断的等分成两份,直到分割成单位元素之后,再利用归并的思想,从下往上不断合并成有序数组的过程。主要分为两种:自底向上的归并排序和自上向下的归并排序。注意:归并排序过程中,需要开辟一个相同大小的临时空间来辅助归并排序的进行。对于两个有序数组是怎么合并到一起的呢?我们来看下面的过程:原始数组...

2019-04-03 23:18:11 490

原创 排序算法(五):快速排序及其优化分析

1.快速排序算法快速排序算法:基于分治策略,通过 分类 + 递归 的方式对数组进行快速排序,一般选择每一部分的第一个元素作为基准元素。快速排序之所以快速,是因为相对于冒泡排序中对相邻元素进行比较,快速排序是设置基准值,通过跳跃式的交换将小于基准值和大于基准值的元素分成两部分,然后递归的重复该过程,直到排序结束。注:快速排序的算法有很多,我一直不求甚解。最后发现 挖坑 + 递归 的方式是比...

2019-04-02 20:32:16 580

原创 排序算法(四):希尔排序及其优化分析

目录1.希尔排序2.时间复杂度分析3.空间复杂度分析1.希尔排序希尔排序(Shell Sort):是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序。希尔排序是不稳定的算法,它满足稳定算法的定义。对于相同的两个数,可能由于分在不同的组中而导致它们的顺序发生变化。算法稳定性 -- 假设在数列中存在a[i]=a[j],若在排序之前,a[i]在a[j]前面;并...

2019-03-27 15:27:57 743

原创 排序算法(三):直接插入排序算法及其优化分析

目录1.直接插入排序:2.算法优化分析:3.时间复杂度分析:4.空间复杂度分析:1.直接插入排序:插入排序:就是将一个元素插入到一个排好序的有序数组中。具体怎么理解呢?对于一个包含N个数组的元素,他会从 [0,1] 区间开始插入排序,即将 1 插入到数组 {2} 的合适位置;接着从 [0,2] 区间开始排序,即将 4 插入到数组 {1,2}的合适位置。依次类推,总共执行...

2019-03-27 12:43:10 833

原创 SSM框架:Spring框架

1.Spring简介:Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。1.AOP编程(动态代理):日志监控、性...

2019-01-18 20:07:24 640

原创 jsp动态页面的入门学习

1.jsp简介:jsp是一种动态的页面技术,他可以借助EL表达式和JSTL(javascript标签库)实现动态数据的展示。他可以同时使用java和HTML两种语言。他的本质是一个Servlet,在第一次访问jsp的时候,他会先生成.java文件,再通过编译生成.class文件,通过内置对象out写一个静态的HTML页面,然后再将他返回给浏览器。直观的表现是第一次访问jsp的时候速度会比较慢。...

2019-01-13 23:33:19 264

原创 JAVA WEB基础二:tomcat与servlet的使用

1.http协议:1.http协议(超文本传输协议):是一个基于请求与响应模式的应用层协议,一般基于TCP进行连接。HTTP1.1版本给出的是一种持续连接的机制。2.HTTP URL的格式如下:“http : // host : port / abs_path”,http表示要通过http协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为...

2019-01-12 21:30:25 245

原创 JAVA中jar包的导入与导出

目录jar的导入:jar的导出:jar包的运行命令:jar包分为两种:可执行jar包,Runnable jar.只包含一个类;普通jar包,JAR file.可以包含多个类文件.jar的导入:手动导入:1.jar包的下载;2.在项目的一级目录下建立名为lib的普通文件夹(与src文件夹同级),将jar包拷贝进lib文件夹中,右键 | build path;3....

2019-01-05 19:49:47 1619 2

原创 JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式

目录数据格式:JSON基本语法:JSON和java的格式转换:数据格式:json数据格式:属于轻量级数据格式,是javascript的一种描述数据的格式。具有易于解析,语法简单的特点,广泛应用与网络间的数据传输。{"name":"Li","age":"18"}XML数据格式:属于重量级数据格式,在以前主要是用XML进行数据的传输,但他的格式比较复杂,传输时存在大量冗余...

2019-01-03 20:43:18 723

原创 数据分析案例(二):使用Java的Map集合进行上网日志流量统计

目录数据样例:需求: 分析:注意事项:数据样例:手机号段规则:1300000为号段,山东为所属省份,济南是所属城市,联通是所属运营商prefix    phone    province    city    isp    post_code    city_code    area_code130    1300000    山东    济南    联通    2...

2018-12-29 20:23:50 970

原创 数据分析案例(一):社交用户关系数据分析案例

目录数据样例:需求:分析:注意事项:数据样例:冒号左边为ID,右边为用户的好友列表A:B,C,D,F,E,O  B:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,O......需求: 求出有共同好友的用户对及他们的共同好友,如:...

2018-12-29 20:23:38 2745

原创 数据分析案例(三):IP需求分析

数据样例:access.log:电信运营商的用户上网数据:20090121000132095572000|125.213.100.123|show.51.com|/shoplist.php?phpfile.......20090121000132406516000|117.101.222.68|gg.xiaonei.com|/view.jsp?p=389|Mo.......ip....

2018-12-29 20:23:17 1105

原创 JAVA常用特性:静态代理与动态代理

目录代理:JDBC静态代理:JDBC动态代理:CGLIB字节码增强:代理:简单来说,代理就是原有业务不变的情况下,将一些额外的需求(方法的功能增强)交给别人来做。具体方式有两种:一种是静态代理(装饰者模式),一种是动态代理。JDBC静态代理的原理:是通过纵向继承的方式,经过进一步的方法重写得到功能的增强。但由于类的单继承局限性,使得通过直接继承父类的方式来进行代理增强的...

2018-12-29 19:44:49 251

原创 JAVA多线程:Thread类与Runnable类

目录基础概念:JAVA中的多线程:Thread类:Runnable接口:线程池:线程的安全问题:锁与死锁:定时器与定时任务:基础概念:线程:Thread,进程中的一个执行路径/执行单元。进程:process,一个程序或软件的运行。本质是程序在内存中分配的空间,但一个软件可能有多个进程。eg:进程中至少有一个线程,同时可以有多个线程,即多线程程序。...

2018-12-21 21:13:29 545

原创 JAVA常用类(十一):File类

目录File类:构造方法:成员方法:过滤器的使用:高级获取遍历文件:递归遍历文件的操作:File类:文件和目录(文件夹)路径名的抽象表示形式。 ----------  仅仅是一个路径的表示,不代码具体的事物一定是存在的。( IO流的基础 )文件:本质上存储二进制码。.txt表示以文本来翻译,后缀名表示选择哪种解析方式。构造方法:public File(S...

2018-12-18 19:39:55 196

原创 遍历算法:递归思想

递归:先递推,再回归:方法定义中调用方法本身的现象。  --------------------------  数学归纳法的思想注意事项:1.要有出口,否则就是死递归2.次数不能太多,否则就内存溢出3.构造方法不能递归使用案例分析:案例一:兔子问题(斐波那契数列) -----------------------------------  前后两数的商无限接近于黄金分...

2018-12-18 15:21:27 430

原创 JAVA常用特性:异常处理

目录异常:异常的处理方式: 异常的常用方法:自定义异常:throw的用法异常的注意事项:异常:将程序的出现的问题封装了类,就形成了异常类。Throwable抽象类是异常类的根类:Error类和Exception类是Throwable抽象类的子类。Throwable抽象类:         Error:(程序出现的错误,不能使用程序处理,一般无需程序员关注)...

2018-12-17 20:41:51 268

原创 JAVA常用类(十):Collections类(与Arrays类对比)

目录Collections类常用成员方法:比较器的使用:源码分析:Collections类Collection和Collections区别:         Collection: 是单列集合的根接口         Collections: 集合的工具类集合转数组:集合对象.toArray()  -------------返回一个Object[ ]数组...

2018-12-17 19:36:09 445

原创 JAVA常用特性:泛型基础

目录泛型:泛型在类/接口中的使用:泛型方法的定义:泛型通配符的使用:泛型:早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题。也就存在这隐患,所以Java提供了泛型来解决这个安全问题。泛型可以修饰类、接口、以及泛型方法。泛型类型必须是引用类型泛型在类/接口中的使用:public class GenericDemo01 {...

2018-12-17 12:26:59 419

原创 JAVA常用类(六):System类

System类:System 类包含一些有用的类字段和方法。它不能被实例化。 eg:System.out.println() --------------------------------  out 为System类中的静态变量,与文件IO流有关。        System.in:在控制台输入内容        System.out:在控制台输出内容成员方法:publi...

2018-12-12 21:12:49 136

原创 JAVA常用类(五):Math类

Math类:常用成员方法:    public static int abs(int a)  ---------------------------------------  绝对值    public static double ceil(double a)  ---------------------------  向上取整    public static double f...

2018-12-12 20:20:13 235

原创 JAVA常用类(四):包装类

包装类:包装类是连接基本数据类型与引用数据类型的桥梁,因为Object类不覆盖基本数据类型,因此将基本数据类型封装成了包装类。包装类保存在 java.lang 包中。 ---------------------------------  java.lang 包自动加载    byte                    Byte    short                  Sh...

2018-12-12 20:15:06 165

原创 JAVA常用类(三):Arrays类(与Collection类对比)

目录Arrays类:成员方法:源码分析:Arrays类:Arrays 类是 java 针对数组进行操作的工具类,提供了排序、排序等功能。 ------------------ java.util 包相比集合专门存储对象,数组既可以存储基本数据类型,也可以存储引用数据类型。成员方法:public static <T> List<T> asLi...

2018-12-12 19:26:16 268

原创 查找算法(一):二分查找算法

目录基本查找:二分查找算法:时间复杂度分析:空间复杂度分析:基本查找:数组不需要是否有序。但需要根据索引值,遍历数组。将数组中每个元素都与待查找值进行对比,是一种暴力查找方式。二分查找算法:又称折半查找。比较次数少,查找速度快,平均性能高。较基本查找相比效率要高很多。但前提是:数组有序。原理分析:以一个有序的升序数组为例,可以将待查找元素与数组中间位置的元...

2018-12-12 14:12:25 231

原创 排序算法(二):冒泡排序算法及其优化分析

目录1.冒泡排序算法:2.算法优化分析:2.1优化外层循环2.2优化内层循环2.3同时优化内层和外层循环3.时间复杂度分析:3.1优化前3.2优化后4.空间复杂度分析:1.冒泡排序算法:原理:以N个元素数组的升序为例。相邻元素两两比较,大的往后放,第一轮完毕,最大值出现在了最大索引处,即数组最右侧。每一轮都从头开始执行,总共执行 N-1 轮。代码书写...

2018-12-12 13:37:28 751 2

原创 排序算法(一):选择排序算法及其优化分析

目录1.选择排序算法:2.选择排序的优化分析3.时间复杂度分析:3.1优化前3.2优化后4.空间复杂度分析:1.选择排序算法:选择排序是不稳定的算法:选择排序是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元素里面给第二个元素选择第二小的,依次类推,直到第n-1个元素,第n个元素不用选择了,因为只剩下它一个最大的元素了。那么,在一趟选择,如果一个元...

2018-12-12 13:15:26 520

原创 JAVA面向对象:相关基础知识(带包编译--权限修饰符--内部类)

目录1.带包编译2.权限修饰符3.内部类1.带包编译解决使用notepad++ 等文本编辑器编写的java类中如果需要 package 的解决方案:手动式:手动建包,.java文件放在包外,.class文件放在包内 自动式:javac –d空格.空格文件名.java java 包名.类名建包:package ...

2018-12-09 14:11:11 187

原创 JAVA面向对象:继承案例的实现

继承的相关概念:继承:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承这个新定义的类即可。java通过extends关键字可以实现类与类的继承:            class  子类名  extends  父类名{ ... }优点:1.提高了代码的复用性;           2.提高了代码的维护性;         ...

2018-12-08 12:28:30 521

空空如也

空空如也

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

TA关注的人

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