自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTML+CSS+JS小整理

HTML+CSS+JS小知识一、HTML1、初始HTMLHTML 指 超文本标签语言,HTML 是通向 WEB 技术世界的钥匙。**WEB 技术:Web就是在Http协议基础之上, 利用浏览器进行访问的网站。Web Page指网站内的网页. 我们常说的WWW(World Wide Web 万维网)**就是这个概念下的内容。而Internet(互联网)则是一个更大的概念 Internet 上不只有Web, 还有FTP, P2P,Email, 或者App等其他多种不同的互联网应用方式. Web只是其中

2020-10-20 20:18:22 535

原创 Java网络编程

网络编程一、JAVA网络编程–基础知识1、概述​ 计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来的,实现资源共享和数据传输的系统。网络编程就是编写程序使互联网的两个(或多个)设备(如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持。通过其提供的接口我们可以很方便地进行网络编程。2、网络分层​ 计算机网络20世纪60年代出现,经历了20世纪70年代、80年代和90年代的发展,进入21世纪后,计算机网络已经成为信息社会的基础设施,深入到人类社

2020-10-13 11:52:20 225

原创 DBCP

DBCPDBCP(DataBase connection pool)数据库连接池是 apache 上的一个Java连接池项目。DBCP通过连接池预先同数据库建立一些连接放在内存中(即连接池中),应用程序需要建立数据库连接时直接到从接池中申请一个连接使用,用完后由连接池回收该连接,从而达到连接复用,减少资源消耗的目的。DBCP所依赖的jar包(以下例子基于如下jar包版本)commons-dbcp2-2.1.1.jar commons-logging-1.2.jar commons-pool

2020-10-03 20:48:12 516

原创 JDBC

JDBC1、数据库编程–JDBC技术在MySQL官网下载相关jar包1.1、JDBC概述Java DataBase Connectivity(Java 数据库连接技术),它是将Java与SQL结合且独立于特定的数据库系统的应用程序编程接口(API–它是一种可用于执行SQL语句的Java API,即由一组用Java语言编写的类与接口所组成)。有了JDBC从而可以使Java程序员用Java语言来编写完整的数据库方面的应用程序。另外也可以操作保存在多种不同的数据库管理系统中的数据,而与数据库管理系统中数

2020-10-03 20:36:10 322

原创 MySQL数据库

MySQL数据库一、数据库1、什么是数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。RDBMS 即关系数据库管理系统(Relational D

2020-10-03 20:25:26 768

原创 Java日志Log4j

Log4j日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包。log4j.properties# Root logger optionlog4j.rootLogger=DEBUG, stdout, file,# Redirect log messages to consolelog4j.appender.stdout=org.a

2020-10-03 20:06:34 108

原创 Java Lambda 表达式和Stream

Java Lambda 表达式和Stream一、Lambda 表达式// Lambda 表达式public class LambdaDemo1 { // Printer接口 interface Printer { void printer(String val); } // 其他方法 public void pringSomething(String someString, Printer printer) { printer.p

2020-09-07 18:04:32 201

原创 Java 注解

Java 注解一、注解Java 注解(Annotation)/java 标注;用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java 的。日常开发中新建Java类,我们使用class、interface比较多,而注解和它们一样,也是一种类的类型,他是用的修饰符为 @interface 。1、注解基础知识注解的定义**注释:**文字描述介绍程序,提供给程序员查看的帮助信息。*

2020-09-07 17:48:24 200

原创 Java 反射

Java 反射一、什么是反射?在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能就称为java语言的反射机制。也就是说反射就是把java类中的各种成分映射成一个个的Java对象,通过反射我们可以获得类的信息。二、反射机制的相关类与Java反射相关的类如下:类名用途Class类代表类的实体,在运行的Java应用程序中表示类和接口Fiel

2020-09-07 15:55:16 153

原创 文件分割和合并

文件分割和合并1、文件切割1.1、文件切割思路需求: 文件切割,将一个比较大的文件切割成多个碎片文件。文件切割有2中方式。第一种:指定具体切割成多少文件。第二种:指定每个碎片的大小,直到把文件切割完成。切割文件的应用场景:比如有些论坛指定上传的文件有大小限制。一个比较大的文件无法上传,这时就可以将其切割后上传,同时再别人下载后再将文件合并即可应用。思路:读取源文件,将源文件的数据分别复制到多个文件中。切割方式有两种:按照碎片个数切,要么按照指定大小切。一个输入流对应多个输出流。每一个

2020-09-01 16:21:37 740

原创 java IO流(2)

java IO流(2)1、缓冲区在前面文件读写的时候,我们是在使用自己的定义的数组作为缓冲区,其实在IO流体系中有相应的缓冲区对象。public class BufferedDemo { public static void main(String[] args) throws IOException { long start = System.currentTimeMillis(); BufferedInputStream bufIn = new BufferedInputStream(n

2020-09-01 16:20:28 117

原创 Java IO流 (1)

Java IO流 (1)一、IO流技术1.1、IO流概述流就是字节序列的抽象概念,能被连续读取数据的数据源和能被连续写入数据的接收端就是流,流机制是Java及C++中的一个重要机制,通过流我们可以自由地控制文件、内存、IO设备等数据的流向。类操作的数据都是在内存中,一旦程序运行结束,这些数据都没有了,要把数据持久化存储就需要把内存中的数据存储到内存以外的其他持久化设备(硬盘、光盘、U盘等)上。而IO流就是用于处理设备上的数据,如:硬盘、内存、键盘录入等。当需要把内存中的数据存储到持久化设备上这个

2020-09-01 16:16:28 132

原创 可变参数

可变参数在JDK1.5之后,如果我们一个方法需要接受多个参数,并且这个参数类型一致,我们可以对其简化成如下格式:修饰符 返回值类型 方法名(参数类型... 形参名)其实这个书写完全等价与修饰符 返回值类型 方法名(参数类型[] 形参名)只是后者这种书写,调用者在调用时必须传递数组,而前者可以直接传递数据即可。jdk1.5以后。出现了简化操作。… 用在参数上,称之为可变参数。同样是代表数组,但是在调用这个带有可变参数的函数时,不用创建数组(这就是简单之处),直接将数组中的元素作为实际参数进行传递,

2020-08-26 00:43:30 118

原创 Collections工具类

Collections工具类Collections工具类使用在集合框架中给我们提供相应的工具类,这个工具类存放在java.util包中,类名是Collections,它是专门用来操作集合的工具类,并且其中的方法都是静态的,不需要创建对象就可以使用。1,获取Collection最值。public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> co

2020-08-26 00:42:06 338

原创 Java 集合(4) Map

Java 集合(4) Map1、Map集合介绍1.1、Map集合的特点打开API查询Map的描述。将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。阅读完Map集合的介绍之后发现,原来Map集合就是用来存放具有对应关系的数据的。即就是key对应value这样的关系,并且要求key不能重复。public class MapDemo { public static void main(String[] args) { //创建Map对象 Map<String,

2020-08-26 00:41:12 238

原创 java 集合(3)Set

java 集合(3)Set1.1、Set接口介绍查阅Set集合的API介绍。Set 不包含重复元素的集合,不保证顺序。而且方法和Collection一致。Set集合取出元素的方式只有一种:迭代器。Set 集合有多个子类,这里我们介绍其中的HashSet、TreeSet和LinkedHashSet这三个集合。HashSet 哈希表结构,不同步,保证元素唯一性的方式依赖于:hashCode(),equals()方法。查询速度快。1.2、哈希表哈希表底层使用的也是数组机制,数组中也存放对象,而这些对

2020-08-26 00:39:54 155

原创 Java 集合(2)List

Java 集合(2)List1、List接口Collection下有两大重要接口List和Set集合。List集合是有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,list列表通常允许重复的元素。总结:List:有序的,带索引的,通过索引就可以精确的操作集合中的元素,元素是可以重复的。List提供了增删改查动作增加add(element) add(

2020-08-26 00:37:49 118

原创 Java 泛型

Java 泛型1、泛型介绍1.1、泛型概述在前面学习集合时,我们都知道集合中是可以存放任意对象的,只要把对象丢尽集合后,那么这时他们都会被提升成Object类型。当我们在取出每一个对象,并且进行相应的操作,这时必须采用类型转换。public class GenericDemo { public static void main(String[] args) { List list = new ArrayList(); list.add("abc"); list.add("itcast"

2020-08-26 00:36:10 125 1

原创 Java 集合(1)

Java 集合(1)集合体系图:List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口Set下有HashSet,LinkedHashSet,TreeSetList下有ArrayList,Vector,LinkedListMap下有Hashtable,LinkedHashMap,HashMap,TreeMap1、框架集合1.1、集合介绍我们知道数据多了就会使用数组存放。而且数组中存放的都是基本类型的数据,并且数组是定长的。当在程序中

2020-08-26 00:33:10 122

原创 Java date类获取时间

Java date类在开发中经常会用到时间和日期,System类的currentTimeMillis方法可以返回当前时间的毫秒值,除此之外 Date 类也可以获取当前时间信息,精确到毫秒。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。//获取当前时间的毫秒值long time = System.currentTimeMillis();//创建日期对象,把当前的毫秒值转成日期对象Date date = new Date

2020-08-24 23:05:23 1695 1

原创 单例模式和线程安全问题

单例模式和线程安全问题单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。​ 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。基本的实现思路单例模式要求类能够有返回对象一个引用(永远是同一个)和一个获得该实例的方法(必须是静态方法,通常使用ge

2020-08-21 17:32:18 182

原创 Java 多线程Lock接口

Java 多线程Lock接口​ 在并发编程中,我们可以通过使用关键字synchronized来实现同步访问。从Jdk1. 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。有那么问题来了,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?synchronized的缺陷:​ 一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只

2020-08-12 16:04:09 93

原创 Java 多线程 生产者消费者问题

Java 多线程 生产者消费者问题在生活中经常会遇到两方都在处理同一资源,而处理的方式不同。比如:水池中注水和排水,煤场中往进运煤和往出拉煤。这些操作处理的资源都相同,只是他们操作的方式有所不同。这类操作就多线程中另外一种高级应用,即多生产和多消费。生产者的主要作用是生成一定量的数据资源,然后重复此过程,消费者不断消耗这些数据。两者间需要通过线程间的通信来共同操作数据。生产者消费者的代码实现思路:描述处理的资源。描述生产者,具备着生产的任务。描述消费者,具备着消费的任务。//描述资源。属

2020-08-12 15:35:18 288

原创 Java 多线程 死锁

Java 多线程 死锁多线程改善了系统资源的利用率并提高了系统 的处理能力,然而并发执行也带来了新的问题:死锁。所谓死锁是指多个线程在占有了对方所需的资源而又竞争对方的资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。通过一个实例来说明死锁现象。//公共锁资源class MyClock{ public static MyClock ClockA=new MyClock(); public static MyClock ClockB=new MyClock();

2020-08-12 10:15:10 145

原创 Java 多线程安全问题与synchronized同步锁

Java 多线程安全问题与synchronized同步锁先用多线程来模拟一个卖票的过程。public class ThreadDem3 { public static void main(String[] args) { Ticket t=new Ticket();//创建票对象 Thread t1=new Thread(t);//创建线程 Thread t2=new Thread(t);//创建线程 Thread t3=new T

2020-08-12 09:07:36 223

原创 Java 继承Thread 实现Runnable接口和实现Callable接口创建线程的区别

Java 继承Thread 实现Runnable接口和实现Callable接口创建线程的区别mycsdn多线程:Java多线程从实现方式来分可以分为两类:继承实现和接口实现,相较于继承,实现接口避免了单继承的局限性,所以较为常用。实现Runnable接口的方式,更加的符合面向对象,线程分为两部分,一部分线程对象,一部分线程任务。继承Thread类,线程对象和线程任务耦合在一起。一旦创建Thread类的子类对象,既是线程对象,有又有线程任务。实现runnable接口,将线程任务单独分离出来封装成对象,类型

2020-08-08 16:42:45 527

原创 Java 多线程

Java 多线程线程和进程进程:进程是指处于运行过程中的程序,并且具有一定的独立功能。进程是系统进行资源分配和调度的一个单位。当一个程序进入内存运行时,就成为一个进程。线程:线程是进程的组成部分,一个进程可以拥有多个线程,而一个线程必须拥有一个父进程。线程可以拥有自己的堆栈,自己的程序计数器和自己的局部变量,但不能拥有系统资源。它与父进程的其他线程共享该进程的所有资源。主线程:在Java中必然有一个执行路径(线程)从main方法开始的,一直执行到main方法结束。这个线程在java中称之为主线程。

2020-08-08 16:06:49 388

原创 Java final和finally的区别

Java final和finally的区别final:final是一个修饰符,可以修饰变量 、方法、引用、类。1.final修饰的变量只能赋值一次,不能修改,final修饰的变量为常量。final double PI=3.1415926535 2.final修饰的方法不能被子类重写覆盖。注意:若父类中final方法的访问权限为private,将导致子类中不能直接继承该方法,因此,此时可以在子类中定义相同方法名的函数,此时不会与重写final的矛盾,而是在子类中重新地定义了新方法。final v

2020-08-05 16:26:28 2418

原创 Java throw和throws区别

Java throw和throws区别throw和throws的区别:throw用在函数内。throws用在函数上。thorw抛出的是异常对象。throws用于进行异常类的声明,后面异常类可以有多个,用逗号隔开。throw 异常对象();public static void main(String[] args) { String s = "abc"; if(s.equals("abc")) { throw new NumberFormatExcept

2020-08-05 15:18:38 263

原创 Java 异常

Java 异常异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。异常的体系结构:Thorwable类是所有异常和错误的超类,有两个子类Error和Exception,分别表示错误和异常。其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常,这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。运行时异常和非运行时异常:运行时异常都是Runtime

2020-08-05 14:16:09 170

原创 Java 内部类

Java 内部类在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类一般来说包括四种:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的内部。class Outer{ //外部类的成员变量 int num = 5; //写在Outer成员位置上的内部类 class Inner{ //内部类的成员函数 void show(){ //在内部类中访问外部类的成员变量 Syste

2020-08-05 10:11:26 100

原创 Java 面向对象(4)多态

Java 面向对象(4)多态多态是同一个行为具有多个不同表现形式或形态的能力。多态存在的三个必要条件继承重写父类引用指向子类对象比如:Parent p = new Child();当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。多态的弊端通过父类引用操作子类对象时,只能使用父类中已有的方法,不能操作子类特有的方法。多态的实现方式重写接口抽象类和

2020-08-03 23:29:17 110

原创 Java—面向对象(3)继承

Java—面向对象(3)继承1.什么是继承继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。关键字:extendspublic class 子类 extends 父类{添加方法和域}例:一个学生类继承人类class Person { String name; int age;}//学生通过extends继承Person,即Person为Student的父类class Student extends Person

2020-07-24 22:01:52 263

原创 Java—面向对象(2)封装

Java—面向对象(2) 封装1.什么是封装​ 在面向对象程式设计方法中,封装是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。Java中定义方法和类时,都用了封装的方式,方法中封装了方法的实现内容,类中封装了方法和属性,封装可以看作是将内容用容器打包封好,外部只留下一些接口、入口,防止该类的代码和数据被外部类定义的代码随机访问,要访问该类的代码和数据,必须通过严格的接口控制;而且我们在修改代码时只修改自己的实现代码,而不用修改那些调用我们代码的程序片段。封装的好处:提高

2020-07-18 16:14:34 94

原创 Java—面向对象(1)

Javase学习—面向对象(1)1.面向过程和面向对象1.什么是面向过程和面向对象程序设计方法一般分为两大类:面向过程的设计方法和面向对象的设计方法。面向过程:面向过程程序设计方法就是先分析出解决问题所需要的步骤,然后按照步骤依次去执行。**面向对象:**面向对象程序设计方法是把构成问题的事务分解成各个对象,对象来描述在解决整个问题中的步骤的一些行为和属性。例如:学生课表为:数学,语文,英语 现在要解决给学生上课的问题:面向过程设计:**1.上课铃 2.数学老师讲数学课 3.下课铃 4.上课

2020-07-17 16:52:24 205

空空如也

空空如也

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

TA关注的人

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