自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)

原创 设计模式之单例模式

单例模式(singleton)java中单例模式是一种常见的设计模式,主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。单例模式有以下特点单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被...

2019-09-05 09:24:51 39

原创 java类加载和类加载器

2019-05-16 20:36:42 81

原创 SpringMVC简单认知

springMVC一款基于web开发的应用框架MVC:Model : 模型 - 数据 domainView : 视图 - 数据的展现方式 jsp, jstl, elController : 控制器 - 结合模型和视图,控制请求流程 例如:servlet, controllerServlet和Controller比较:servlet缺点:请求参数处理麻烦 String ...

2019-04-16 20:10:53 89

原创 根据先序中序构建二叉树

输入二叉树的前序遍历和中序遍历,求后序遍历或者重构二叉树 例如:前序:1,2,4,7,3,5,6,8 中序:4,7,2,1,5,3,6,8 后序:7,4,2,5,8,6,3,1 方法1:如果需要重构再输出后序 步骤如下: 1.根据前序确定根节点就是第一个; 2.根据根节点在中序的位置确定左右子树 3.递归重...

2019-04-03 20:37:21 1436 1

原创 二维数组查找数字

题目在一个二维数组里,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入一个二维数组和一个数字,判断数字是否在二维数组中。存在输出true,不存在输出false。package com.banban.CeShi;/** * @author :zhangpengzhan * @date :Created in 2019/4/1 16:53 ...

2019-04-01 17:36:34 127

原创 求数组中重复的数字

package com.banban.CeShi;import java.util.*;/** * @author :zhangpengzhan * @date :Created in 2019/3/29 16:52 * @name :FindReNumber * * 找出数组中任意一个重复的数字: * 在长度为n数组里,元素范围均在0~n-1里,有些元素是重复的,...

2019-03-29 19:42:44 181

原创 两个线程交叉打印,一个打印数字,一个打印小写字母,结果为a1b2...y25z26

package com.banban.CeShi;/** * 两个线程交叉打印,一个打印数字,一个打印小写字母,结果为a1b2...y25z26 * */public class ThreadPrint { private static Object lock = new Object(); private Thread th1 = new Thread(){...

2019-03-28 18:14:48 1244 3

原创 LRU缓存思想

package com.banban.CeShi;import java.util.HashMap;import java.util.LinkedHashMap;import java.util.Map;import java.util.Stack;/** * 实现一个长度为n的LRU缓存,即超出长度后,丢弃最少被使用的元素 * 方法一: * 使...

2019-03-28 18:12:59 118

原创 实现了min方法的栈

package com.banban.CeShi;import java.util.Stack;/** * 定义一个实现了min方法的栈,min方法返回当前栈最小元素。要求min,push,pop时间复杂度O(1) * 方法一: * 双栈实现:minstack栈存储最小值 * */public class MinStack { private Stac...

2019-03-28 18:09:18 141

原创 求两个有序数组合并后第K大值-leetcode

两个有序数组从小到大排列,取两个数组合并后第K大的元素,要求O(1)空间复杂度 如 a = {0, 1, 2, 4} b = {3, 5, 7} 第4大元素,返回3 方法一: 不考虑复杂度的情况下,首先想到的方法是一次从两个数组中选取较小的那个, 直到选取第k个,此种方法复杂度在O(k),代码如下 方法二: 基于k/2位数的二分思想 方法三...

2019-03-28 17:59:36 1021 1

原创 spring两种代理详述

AOP功能的底层,其实就是代理模式,代理模式分为两种,静态代理和动态代理静态代理在静态代理中,代理类和委托类都必须实现同一个接口,而且代理类中必须要有委托类的一个实例。在调用代理类的接口方法时,实际会调用委托类相应的委托方法,形成代理模式。静态代理模式有两个优点:代理类真实存在在编译期就生成了代理类,效率高。缺点:如果委托类过多,就会导致代理类也变多,不方便管理如果很多委...

2019-03-28 15:30:21 151

原创 spring简述

spring介绍:Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J...

2019-03-28 15:29:17 252

原创 mybatis介绍,idea下使用mybatis

Mybatis框架MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。与数据库打交道,基本...

2019-03-19 22:52:14 173

原创 AJAX和JSON

Ajax概念解析英文名:Asynchronous Javascript And XML中文名:阿(ei)贾(zhai)克斯解释:异步的js和xml,用于创建动态网页技术。而且不用加载整个页面的情况,只更新部分网页,主要应用类型:评论,用户评论提交后,因为需要更新内容,必然加载整个网页,假如当正在观赏视频时候,重新加载页面,video会重新从0开始播放,这就很难受,而ajax的出现正是解决...

2019-03-12 15:22:20 55

原创 cookie 和 session

cookie自动登陆,大家应该不陌生,这个功能就是使用了cookie。概括的说,cookie就是一个可以帮你自动存储信息的机制,但是这些信息量并不是很大,一般也就存储登陆的用户名和密码信息,所以你二次返回该网站时候,会发现你的账户自动登陆了。当你访问网页时,会检测浏览器的cookie里面是否有你登陆过的信息,如果有,浏览器就会直接跳过登陆的界面,直接向用户展示特定的登陆过后的页面。但是,...

2019-03-05 16:05:52 52

原创 WEB应用之JSP+Servlet

开发网页基础知识JSP(java server pages)(前端)动态网页开发技术。可以插入java代码,标签以<%开头 以>结束服务端语言,与PHP,SASP等类似。jsp以java语言作为脚本语言,而且可跨平台使用。简单代码演示<html> <head> <title>第一个 JSP...

2019-03-05 09:25:37 390

原创 WEB开发之路—tomcat配置

tomcat免费的开源性的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用。是开发jsp程序的首选。另外:Apache为HTML页面服务,而tomcat为JSP页面和servlet程序。tomcat也具有处理HTML页面的功能,另外它还是一个jsp和servlet的容器。IDEA配置tomcat服务器下载连接选择自己合适的版本下载下载...

2019-03-04 17:36:10 81

原创 数据库连接之JDBC编程

JDBC名词解释:java database Connector java与数据库的连接桥梁(一套接口)开发步骤加载驱动Class.forName("驱动类名(com.mysql.jdbc.Driver)");创建数据库连接,返回一个connection对象Connection conn =DriverManager.getConnection(连接字符串, 用户名, 密...

2019-03-03 11:17:03 80

原创 mysql知识详解(下)—— 连接查询

mysql之连接查询和子查询连接查询当需要在多个表里获取数据时候,比如在获取学生分数姓名以及代课老师等等,那么我们就需要使用连接查询。从而在两个甚至多个表中取出数据两种规范SQL92等值连接非等值连接外连接广义笛卡尔积SQL99交叉连接自然连接using子句连接on子句连接全外连接或者左,右外连接SQL92SQL92的多表连接语法比较简洁,这种语法把...

2018-12-27 16:33:33 93 1

原创 mysql知识详解(上)——SQL语句基础

SQL语句基础SQL全称:Structured Query Language ,结构化查询语言。SQL语句分类查询语句:select关键字DML(Data Manipulation Language,数据操作语言):主要有insert,update,delete三个关键字DDL(Data Definition Language):create,alter,drop,truncate四个...

2018-12-27 16:33:03 140

原创 mysql安装

MySQL1.安装(ZIP)版本mysql下载选择合适自己的版本下载解压(bin目录下有)mysql.exe 客户端程序mysqld.exe 服务端程序mysqldump.exe 数据备份程序配置启动文件ini在mysql目录下手动创建一个my.ini文件,用记事本输入以下内容:[mysqld]character-set-server=utf8mb4...

2018-12-26 19:32:43 139

原创 java反射机制

反射1.反射机制概念:简述:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性==;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。详述:Java反射是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过ReflectionAPIs取得任何一个已知名称的class的内部信...

2018-12-05 22:10:39 70 1

原创 理解CAS操作

CAS:Compare and Swap即就是:比较并且交换一种硬件对并发的支持,针对多处理器操作而设计的处理器中的一种特殊指令,用于管理对共享数据的并发访问。解决共享变量的内存可见性问题乐观锁采用CAS实现的类:java.util.concurrent.atomic包下:AtomicInteger。内存可见性Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己...

2018-11-26 16:15:30 256 2

原创 java多线程

一步一步基础来进程正在运行的程序。例如:QQ,酷狗音乐进程是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。多进程单进程的计算机只能做一件事情。然而现在的电脑手机是多进程的,多进程允许计算机同时间做许多事情可以在一个时间段内执行多个任务。可以提高CPU的使用率。每个程序其实并不是同时间运行的,只是CPU在多个进程之间的高效,高速切换让我们觉得这么多...

2018-11-25 22:41:39 49

原创 javaIO流

IO流分类:java.io包流的分类流向来分输入流:只能从硬盘或文件读取数据,不能写入数据输出流:只能向文件硬盘写入数据,不能读取数据操作单元来分字节流:InputStream (抽象方法)FileInputStreamBufferedInputStreamOutputStream(抽象方法)FileOutputStreamBufferedOutputS...

2018-11-22 12:22:02 222

原创 javaIO流实现复制和删除文件夹

拿来即用 ,不理解欢迎留言。package banban.CopyOrDeleteFile;import java.io.*;/** * @ClassName CopyOrDeleteFile * @Author zhang-peng-zhan * @Date 2018/11/8 17:40 * * copyFile方法 需要参数 File:需要复制的...

2018-11-19 19:27:30 1423

原创 java File类

File类:java.io包下代表与平台无关的文件和目录,换个说法:使用File类可以在程序中操作文件和目录学习javaIO流的先行工具。File类通俗讲也是一个类,所欲我们需要了解这个类的子类以及方法等等。方法返回值说明String getName()String返回file对象对应的文件名或者最后一级路径名String getPath()String...

2018-11-07 11:39:48 86

原创 java异常

调用此对象getLocalizedMessage() 方法的结果

2018-11-06 21:32:35 48

原创 java集合要点摘录以及面试题

集合(容器):是一种工具类,就像是容器,储存任意数量的具有共同属性的对象集合和数组的区别:数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。java中集合类主要有两大分支:Collection 和 Map集合的基础知识:(结构等等)这里就不说了,大家自...

2018-10-31 22:16:58 107

原创 java正则表达式大全(常用)

一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?...

2018-10-30 21:47:21 29419 10

原创 java泛型

泛型:是一种把类型明确的工作推迟创建对象或者调用方法时候才去明确的特殊的类型。参数化类型,把类型当作参数一样的传递这么理解,泛型可以定义类,接口,方法,Collection等等的参数类型。比如说在类上使用泛型,我们一个让这个类的数据不再单一化,可以让此类创建各种类型数据的对象。总之,泛型就相当于多样化的参数传递。格式:<数据类型>此处的数据类型只能是引用类型,各...

2018-10-30 21:07:22 80

原创 java面向对象(下)

Java 的包装类包装类:可以把8个基本类型的值包装成对象使用自动拆箱:包装类对象赋给对应的基本类型变量自动装箱:基本类型变量赋给对应的包装类引用变量基本数据和对应的包装类关系:基本数据类型 包装类byte--------------------------------------------Byteshor...

2018-10-24 13:40:49 170

原创 java排序算法

冒泡排序,选择排序,快速排序冒泡排序和选择排序的思想比较简单这里直接上代码,大家自己看代码先理解,后面我再简要说一下这两个思想,着重要说的是最重要的快速排序(快排)冒泡排序:这都是写好的静态方法,大家用直接复制黏贴,用类调方法就行,顺便写了一个遍历的方法。直接用就行。public class BubbleSort { public static void bubbleSort2(...

2018-10-22 21:55:01 97

原创 javaDate类计算两个时间之间的天数

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 实现1949-10-1 --- 2016-8-15 之间的天数。 * 方法一: * 通过Calendar类的日...

2018-10-22 21:05:29 13168 1

原创 java面向对象(中)

面向对象继承:java的继承是通过extends关键字来实现,实现继承的类被称为子类,被继承的称为父类语法格式:修饰符 class SubClass extends SuperClass{//类定义部分}java的子类不能获得父类的构造器。public class Fruit //父类{ public double weight; //父类变量 public v...

2018-10-17 12:52:17 62

原创 JAVA 集合 (大致了解)

2018-10-11 20:17:06 91

原创 java面向对象(上)

面向对象java是面向对象的程序设计语言,java提供了定义 类 成员变量 方法的基本功能java也支持面向对象的三大特征:封装,继承,多态。java提供了 private protected 和 public 三个访问控制修饰符来实现 良好的封装。提供了 extends关键字让子类继承父类,继承之后就可以得到父类成员变量和方法。继承是实现类复用的重要手段。当然也可以通过组合来进行复用。...

2018-10-10 11:15:26 94

原创 java基础类库(下)

其实基础类库下里面就一个重点:正则表达式:是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。一种规则有自己的特殊应用怎么说呢? 这个小东西很神奇,又有点难理解,我只能把我的一些积累分享一下下。希望大家喜欢。打个比方 :我们在进行字符串处理的时候,想必大家是能简单就简单处理,毕竟敲太多处理这个的代码,很容易懵逼。比如,我要提取一段文字的电话号码,我要写一个验证QQ号的代码,...

2018-10-08 20:34:22 355

原创 JAVA启程之 ---JDK安装

今天教大家安装java的jdk(java development kit :java语言开发环境)简单易学:首先我们需要到oracle官网下载 JDK网址:JDK下载选择你想要的JDK版本 目前JDK11已经出来了,然而我还在用JDK8,怎么说看大家自己的喜好吧。推荐新版本下载。这里安装版本的流程都一样,因为网速限制,我只能拿之前的JDK版本给大家说了,有啥问题,留言我看到会帮助大...

2018-09-26 15:09:19 1284

原创 java基础类库(上)

java基础类库复习【摘自疯狂java讲义】今天起,好好学。运行java程序的参数main方法的方法签名:public static void main(String[] args){.....}解释一下这个签名的意义在哪里?public修饰符—java类由JVM调用,为了让JVM可以自由调用这个main()方法,所以java使用public修饰符把这个方法暴露出来。sta...

2018-09-26 14:36:23 240 1

空空如也

空空如也

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