Java基础
红亮1014
这个作者很懒,什么都没留下…
展开
-
Collection集合接口之 List接口
List接口介绍1) List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。2)List集合的元素的存储顺序和取出顺序一致。3) List接口的实现类常用的有:ArrayList(主要实现类)、LinkedList和Vector。4) List不但继承了Collection接口中的全部方法(上一篇博客已经介绍过Conllection接口),还增加了一些根据元素位置索...原创 2019-04-20 18:42:27 · 177 阅读 · 0 评论 -
java多线程之创建线程的两种方式(继承Thread类,实现Runnable接口)
如果还不是很了解java中的多线程是什么可以参考我的这篇博客:线程的概述如和通过Thread类来创建一个线程通过一个例子来实现: 创建子线程,完成1-10自然数的输出,主线程也同样完成1-10自然数的输出package com.ghl.demo;/**创建线程的第一种方式 * 创建子线程,完成1-10自然数的输出,主线程也同样完成1-10自然数的输出 */ public clas...原创 2019-05-19 15:12:50 · 640 阅读 · 0 评论 -
java的多线程之线程的同步(synchronized )
java对于多线程的安全问题提供了专业的解决方式: 同步机制什么时候需要使用synchronized :只有共享资源的读写访问才需要同步化,如果不是共享资源那么根本就没有必要同步目的:就是使得共享数据变得更加安全。互斥锁1)引入对象互斥锁,来保证共享数据操作的完整性。2每个对象都对应于一个可称为“互斥锁”的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象关键字synchr...原创 2019-05-19 16:10:19 · 154 阅读 · 0 评论 -
java多线程之线程通信
线程的通信时在synchronized里实现的Object类的wait()、notify() 、notifyAll()三个方法必须由同步监视器对象来调用,分两种情况:a)同步方法,该类默认实例(this)就是同步监视器,可以在同步方法中可以直接调用b)同步代码块,同步监视器是synchronized后括号里的对象,所以必须使用此对象调用这三个方法wait() 与 notify() 和 no...原创 2019-05-19 16:27:54 · 222 阅读 · 0 评论 -
java流程控制相关题汇总
package com.ghl.testDemo;import java.util.Scanner;import org.junit.Test;public class TestDemo { /** * 打印九九乘法表 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 * 5*2=10 5...原创 2019-05-19 20:53:15 · 212 阅读 · 0 评论 -
java集合遍历 List套Map
List<Map<String,Object>> 的遍历 取出所有的key 根据指定key取值package com.ghl.demo;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class Tes...原创 2019-05-15 10:35:14 · 2827 阅读 · 0 评论 -
java的反射机制
什么是反射和正射java让我们在运行时识别对象和类的信息,通过反射机制,它允许我们在运行时发现和使用类的信息。反射之中包含了一个「反」字,与之对应的就应该有一个正射。当我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。User user =new User();//通过new 关键字创建一个User对象,通过该类的对象调用类中的...原创 2019-05-11 17:44:10 · 311 阅读 · 0 评论 -
java反射的典型应用----动态代理的实现
什么是动态代理(dynamic proxy)1)代理的是接口(Interfaces),不是类(Class)。也叫基于接口的jdk动态代理。2)利用Java的反射技术,在运行时创建一个实现某些给定接口的新类,该类也叫代理类。3)利用Java的Proxy类,调用Proxy.newProxyInstance(),创建动态对象。4)给目标对象提供一个代理对象,并由代理对象控制对目标对象的引用代理...原创 2019-05-11 17:43:33 · 219 阅读 · 0 评论 -
网络编程通讯的第一要素--IP+端口号
什么是java中的网络编程 (基于SOcket编程)1)Java提供的网络类库,可以实现安全可靠的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。2)java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问...原创 2019-05-12 11:16:02 · 235 阅读 · 0 评论 -
网络编程通讯的第二要素--网络通信协议(TCP UDP)
网络通信协议计算机网络中实现通信必须有一些约定,即通信协议。TCP 和 UDPTCP1)使用TCP协议前,须先建立TCP连接,形成传输数据通道2)传输前,采用“三次握手”方式,是可靠的3)TCP协议进行通信的两个应用进程:客户端、服务端4)在连接中可进行大数据量的传输5)传输完毕,需释放已建立的连接,效率低UDP1)将数据、源、目的封装成数据包,不需要建立连接2)每个数据报的...原创 2019-05-12 11:34:01 · 177 阅读 · 0 评论 -
网络编程URL编程
URL编程为了表示URL,java.net 中实现了类 URL。我们可以通过下面的构造器来初始化一个 URL 对象:public URL (String spec):通过一个表示URL地址的字符串可以构造一个URL对象。例如:URL url = new URL (“http://www. baidu.com/”);package com.ghl.demo;import java.io.I...原创 2019-05-12 11:36:33 · 220 阅读 · 0 评论 -
java代码实现写一个递归遍历目录下面的所有文件,并对文件进行操作
java的递归遍历package com.ghl.demo;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;/** * 递归遍历目录下面的所有文件。并对文件进行操...原创 2019-05-13 16:51:42 · 1091 阅读 · 0 评论 -
Java中的多线程(概念与原理)
程序、进程、线程的概念1)程序:是为了完成特定任务,用一段静态的代码编写的一组指令的集合。2)进程:是程序的一次执行过程,或者是正在运行的一个程序,比如正在运行的qq。3)线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。如果一个程序可同一时间执行多个线程,就是支持多线程的。一个程序至少一个进程,一个进程至少一个线程。何时需要多线程1)程序需要同时执行两个或多个任务(程序之间需...原创 2019-05-19 14:49:38 · 202 阅读 · 0 评论 -
Java常用类库(String,StringBuffer,StringBulider)
String类1)String类:构造字符串对象2)String对象代表一组不可变的字符序列,也就是说String对象一旦创建就不能被改变,因为底层是通过final关键字来修饰的。如果内容改变则会创建一个新的String对象,返回到原地址中。String类常用的构造方法String s1 = new String();String s2 = new String(String ori...原创 2019-05-04 21:08:09 · 234 阅读 · 0 评论 -
Collection集合接口之 Set接口
Set接口1)Set接口是Collection的子接口,set接口没有提供额外的方法,完全复用Collection中的方法。2)Set是无序的,不可重复的,集合中不可包含重复的元素3)Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals 方法4)Set接口下的三个实现类:hashSet(set的主要是实现类,开发常用)、liknedHashSet,TreeSetse...原创 2019-04-20 21:58:03 · 261 阅读 · 0 评论 -
Map接口
Map接口之HashMap1)Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value2) Map 中的 key 和 value 都可以是任何引用类型的数据3) Map 中的 key 用Set来存放,不允许重复,即同一个 Map 对象所对应的类,须重写hashCode()和equals()方法。4) 常用String类作为Map的“键”。5)Map实现...原创 2019-04-20 23:05:11 · 146 阅读 · 0 评论 -
操作集合(Collection和Map)的工具类 Collections
Collections1)Collections 是一个操作 Set、List 和 Map 等集合的工具类2)Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法.package com.ghl.demo;import java.util.ArrayList;import java.util.C...原创 2019-04-20 23:27:21 · 171 阅读 · 0 评论 -
集合常见的面试题
集合面试题Collection 和 Collections的区别答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作--------------------------------------------------Set里的元素是不能重复的,...原创 2019-04-20 23:49:20 · 691 阅读 · 1 评论 -
Java IO流(FileInputStream,FileOutputStream及File)讲解
File类的使用在介绍流的概念之前,我们需要知道并且明确File和IO流是什么关系。java.io.File类:文件和目录路径名的抽象表示形式File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。File对象可以作为参数传递给流的构造函数File的构造函数参考在线的jdk文档:https://blog.fondm...原创 2019-04-21 22:31:02 · 5593 阅读 · 0 评论 -
Java IO流之缓冲流(BufferedInputStream ,BufferedOutputStream)讲解
回顾流的分类1)按照数据单位的不同流可分为:字节流和字符流2)按照数据流的流向可分为:输入流和输出流3) 按流的角色的不同分为:节点流,处理流抽象基类 节点流(字节流/字符流) 缓冲流 (处理流的一种)InputStream ...原创 2019-04-29 22:48:25 · 1731 阅读 · 0 评论 -
日期类(System、Date、SimpleDateFormat)
java.lang.System类1)System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。2)此方法适于计算时间差java.util.Date类1)表示特定的瞬间,精确到毫秒2)构造方法:Date( )使用Date类的无参数构造方法创建的对象可以获取本地当前时间。Da...原创 2019-05-04 21:50:54 · 797 阅读 · 0 评论 -
java集合Conllection(List,Set)Map
Java集合框架Java集合框架Collection接口APIIterator迭代器接口Collection子接口之一:Set接口HashSet LinkedHashSet TreeSetCollection子接口之二: List接口ArrayList LinkedList VectorMap接口HashMap TreeMap HashtableCollect...原创 2019-04-20 14:17:17 · 373 阅读 · 0 评论 -
Java IO流(FileReader,FileWriter)讲解
字符输入流(FileReader)1)字节流和字符流整体上操作得步骤一样,会了字节流得操作,学字符流也就轻而易举了。2)使用FileReader和FileWriter可以实现文本文件得复制。3)对于非文本文件(图片,视频,音频)只能使用字节流,而 文本文件就可以使用FileReader和FileWriter。4)FileReader类从InputStreamReader类继承而来。该类按字...原创 2019-04-29 17:59:37 · 526 阅读 · 0 评论 -
java文件和字节数组之间得转换
package com.ghl.demo;import java.io.BufferedOutputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.I...原创 2019-05-05 17:58:10 · 2743 阅读 · 0 评论 -
Base64和图片之间得互相转换
图片和base在线转换链接地址:http://imgbase64.duoshitong.com/package com.ghl.demo;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;impor...原创 2019-05-05 18:45:21 · 1000 阅读 · 0 评论 -
java文件下载时如何解决中文名称不显示的问题
所下载文件包含中文字符时需要进行编码:第一种方法:String filename = new String(file.getName().getBytes(),"ISO-8859-1");response.getHttpResponse().setHeader("Content-Disposition", "attachment;filename=" + filename);第二种方...原创 2019-07-29 22:45:04 · 1654 阅读 · 0 评论