自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 资源 (8)
  • 收藏
  • 关注

原创 Kotlin学习笔记

该系列文章是本人梳理kotlin基础知识所作,时间仓促可能会有不足,欢迎指正!!Kotlin学习笔记(1)- 基础语法Kotlin学习笔记(2)- 基本数据类型,字符串与数组Kotlin学习笔记(3)- 条件控制与循环控制Kotlin学习笔记(4)- 容器Kotlin学习笔记(5)- 泛型和高级函数应用Kotlin学习笔记(6)- 异常Kotlin学习笔记(7)- 类和对象Kotlin学习笔...

2019-06-28 18:30:40 294

原创 kotlin学习笔记(8)--继承和接口

1.继承Kotlin 中所有类都继承该 Any 类,它是所有类的超类,对于没有超类型声明的类是默认超类:class Example // 从 Any 隐式继承Any默认提供了3个函数:equals(),hashCode(),toString()注意:Any 不是 java.lang.Object。如果一个类要被继承,可以使用 open 关键字进行修饰,用:代替extendsope...

2019-06-28 18:28:24 207

原创 kotlin学习笔记(7)--类和对象

1.类定义Kotlin 类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。Kotlin 中使用关键字 class 声明类,后面紧跟类名:class Test{ //类名是Test //类体}//定义空类class Empty//在类中构造成员函数class Test{ fun foo (){ ... } //成员函数}实例:把小数...

2019-06-28 18:28:17 243

原创 kotlin学习笔记(6)--异常捕获

使用基本与java8相同kotlin 异常的简介可以在 catch 返回值 //下面是kotlin 特有的 可以在 catch 返回 null 可以在 catch 使用 return,跳出方法 不区分受检异常 和 不受检异常 try/catch 可以作为一个表达式实例:fun main(args: Array<String>) { println("别董大...

2019-06-28 18:28:10 157

原创 kotlin学习笔记(5)--泛型和高级函数的应用

1.泛型函数泛型的引入:函数的输入参数类型必须在定义函数时就要指定,可是有时候参数类型是不确定的,只有在函数调用时方能知晓具体类型,如此一来要怎样声明函数呢?定义泛型函数时,得在函数名称前面添加“<T>”,表示以T声明的参数(包括输入参数和输出参数),其参数类型必须在函数调用时指定。实例:fun <T> appendString(tag:String, var ...

2019-06-28 18:28:00 437

原创 kotlin学习笔记(4)--容器(集合)

1.容器类型Kotlin号称全面兼容Java,于是乎Java的容器类仍可在Kotlin中正常使用,包括大家熟悉的队列ArrayList、映射HashMap等等。不过Kotlin作为一门全新的语言,肯定还是要有自己的容器类,不然哪天Java跟Kotlin划清界限,那麻烦就大了。与Java类似,Kotlin也拥有三类基本的容器,分别是集合Set、队列List、映射Map,然后每类容器又分作只读与...

2019-06-28 18:27:49 606

原创 kotlin学习笔记(3)--条件控制和循环控制

1.if表达式一个 if 语句包含一个布尔表达式和一条或多条语句//传统用法var max = aif (a<b) max=b//else分支var max:Intif (a>b){ max=a}else{ max=b}//作为表达式val max = if(a>b) a else b实例:fun main(args: Arra...

2019-06-28 18:27:41 245

原创 kotlin学习笔记(2)--基本数据类型,字符串与数组

1.数值与字符类型1.数值类型:Double、Float、Long、Int、Short、Byte例:var a:Int = 20var b:Double = 3.14var c:Float = 2.8fKotlin和Java一样,数值都有默认类型,整数默认是Int,浮点型默认是Double在Java中如果将占用字节数少的变量赋值给占用字节数多的变量会自动转换类型的,但是在Kotl...

2019-06-28 18:27:32 3988

原创 kotlin学习笔记(1)--基础语法

1.常量,变量常量的定义(只读) val <标识符> : <类型> = <初始化值>变量的定义 var <标识符> : <类型> = <初始化值>常量与变量都可以没有初始化值,但是在引用前必须初始化val a: Int = 1val b = 1 // 系统自动推断变量类型为Intval c: Int // 如...

2019-06-28 18:27:20 191

原创 技术面试--常见的数据结构与算法

对于学程序语言的人来说,再多的文字讲解都不如一段代码来的实惠。我的仓库里包含了基本数据结构的代码实现,8种常用的排序算法,leetcode必会面试题以及剑指offer。以上全都用java写的,每一个.java都有大量注解,算法题都有题目,完全都能看得懂仓库地址:https://github.com/Wang-Shuaijie/Data_Structure...

2019-05-12 13:48:50 472 7

原创 技术面试--操作系统2

linuxlinux的知识点太多了,这里只概括了一些重点,如果想要更深的了解,建议读《鸟哥的Linux私房菜》★★☆ 文件系统的原理,特别是 inode 和 block。数据恢复原理分区与文件系统对分区进行格式化是为了在分区上建立文件系统。一个分区通常只能格式化为一个文件系统,但是磁盘阵列等技术可以将一个分区格式化为多个文件系统。组成最主要的几个组成部分如下:inode:...

2019-05-10 21:17:42 230

原创 技术面试--操作系统1

基础★★★ 进程与线程的本质区别、以及各自的使用场景进程是资源分配的基本单位。进程控制块 (Process Control Block, PCB) 描述进程的基本信息和运行状态,所谓的创建进程和撤销进程,都是指对 PCB 的操作线程是独立调度的基本单位。一个进程中可以有多个线程,它们共享进程资源区别: Ⅰ 拥有资源:进程是资源分配的基本单位,但是线程不拥有资源,线程可以...

2019-05-10 21:17:35 302

原创 java技术面试

前言:本系列博客参考了CyC2018的技术面试大纲,并在此基础创作。1.常见的数据结构与算法 1.1.数据结构与算法2.操作系统2.1.基础2.2.linux3.计算机网络4.数据库5.面向对象...

2019-05-10 21:17:15 166

原创 java学习笔记110--URL和URI

URI是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。 URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。 URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的一种资源标识的方式。 在...

2019-03-26 10:05:48 174

原创 java学习笔记109--java中基于UDP协议的网络编程

java.net.DatagramSocket类 UDP协议编程中的套接字,可以用来实现客户端也可以实现服务器端java.net.DatagramPacket类 此类表示UDP协议通信中所传输的数据报包 注:无论客户端还是服务器都会使用这个俩个类 例如: public class UDPServerTest { ...

2019-03-26 10:04:20 174

原创 java学习笔记108--java基于TCP协议的网络编程

java.net.Socket类 socket也称为套接字,可以用来表示两台机器间通信的端点,可以用socket对客户端进行实现java.net.ServerSocket类 ServerSocket可以实现服务器端套接字。 注:java的网络编程也可以称为套接字编程或者socket编程...

2019-03-26 10:02:52 213

原创 java学习笔记107--软件架构:C/S和B/S

C/S和B/S,是两种软件架构方式,都可以进行同样的业务处理,甚至也可以用相同的方式实现共同的逻辑。 C/S架构的全称是Client/Server,即客户端服务器端架构,客户端包含一个或多个在用户的电脑上运行的程序,而服务器端可以使用Socket来实现,服务器端的程序通过Socket与客户端的程序通信。 C/S 架构也可以看做是胖客户端架构,因为客户端需要实现很多的业务逻辑和界...

2019-03-26 10:01:56 346

原创 java学习笔记106--HTTP和TCP/IP以及DNS

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。所以,HTTP协议是建立在TCP/IP之上的一个协议。 DNS(Domain names System)是处于应用层的"服务",提供域名到IP地址之间的解析服务。可以让我们访问网络中的一台主机的时候不需要使用IP地址而是使用便于我们记忆的域名。互联网之间是通过IP地址通信的,但是I...

2019-03-26 10:00:09 223

原创 java学习笔记105--TCP和UDP协议

1)TCP(transmission control protocol),传输控制协议 TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层。在接收端,它负责把收到的报文进行重组后递交给上层。TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送...

2019-03-26 09:59:06 164

原创 java学习笔记104--OSI七层模型和TCP/IP四层模型

开放系统互连参考模型(Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。它从低到高共七层分别是:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。ISO制定的OSI参考模型的过于庞大和复杂。为此,由技术人员自己开发的TCP/IP协议...

2019-03-26 09:57:45 237

原创 java学习笔记103--网络编程概述

计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。这个网络中包含的设备有:计算机、路由器、交换机等等 网络编程的实质就是已经建立好的计算机网络的基础之上,通过使用程序控制的特定方式,让两个(或多个)设备(例如计算机)之间进行数据传输 java中的网...

2019-03-26 09:53:20 132

原创 java学习笔记102--随机访问流

java.io.RandomAccessFile类 public class RandomAccessFile extends Object{..} 这是个特殊的流,它不属于之前那些流的体系。 这个流的既可以用来读文件,也可以用来给文件中写内容,并且该类中的方法可以用来定位文件中的位置: public native void seek(long p...

2019-03-26 09:52:08 221

原创 java学习笔记101--对象流

1)序列化和反序列化 Java中的序列化是指把Java对象转换为字节序列的过程 对象---序列化--->01010101 Java中的反序列化是指把字节序列恢复为Java对象的过程 01010101---反序列化--->对象 思考:为什么需要序列化和反序列化? ...

2019-03-26 09:50:57 173

原创 java学习笔记100--转换流

InputStreamReader和OutputStreamWriter是一对名字中既有Stream,又有Reader或Writer的流,因为它们是转换流,负责把一个字节流转换为字符流。所以它们是字节流和字符串之间的桥梁. 注:在把字节流转换为字符流的过程中,还可以指定字符编码,避免乱码的出现。...

2019-03-25 11:18:51 132

原创 java学习笔记99--字符流

1)Reader public int read(){..} public int read(char[] cbuf){..} public abstract int read(char[] cbuf, int off,int len){..} //指定缓冲区 //@since 1.5 public i...

2019-03-25 11:17:59 154

原创 java学习笔记98--字节流中的处理流

也可以称为功能流或者包装流,因为它是对节点流进行包装的一种流,包装后可以增加节点流的功能。但是处理流本身并不能直接读写数据 1)BufferedInputStream和BufferedOutputStream 可以给字节流中的节点流提供代码缓冲区的输入/输出流 2)DataInputStream和DataOutputStream 可以给字节流中的节...

2019-03-25 11:16:54 286

原创 java学习笔记97--字节流中的常用节点流

注:java中常用的io流都在java.io包中 1)InputStream //从输入流中读取数据的下一个字节 //如果到达流的末尾则返回 -1 public abstract int read(); //把读到的字节存到字节数组b中,并返回本次读到了多少个字节 public int read(byte[] ...

2019-03-25 11:15:49 266

原创 java学习笔记96--流的分类

1)按照流的方向分为输入流和输出流2)按照处理数据的单位不同分为字节流和字符流 字节流读取的最小单位是一个字节(1byte=8bit),而字符流一次可以读取一个字符(1char = 2byte = 16bit)3)按照功能的不同分为节点流和处理流 节点流是可以"直接"从一个数据源中读写数据的流。 处理流也可以称为功能流或者包装流,它是可以对节点流...

2019-03-25 11:14:02 164

原创 java学习笔记95--流的概念

流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以"流"的方式进行。设备可以是文件,网络,内存等流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序至设备,我们成为输出流,如果数据的流向是设备至程序称为输入流。数据以二进制的形式在程序与设备之间流动传输,就想水在管道里流动一样,所以就把这种数据传输的方式称之为输...

2019-03-25 11:13:01 105 1

原创 java学习笔记94--CompletionService接口和实现类ExecutorCompletionService

CompletionService主要用于将新添加的异步任务与已完成任务的结果分离开来 主要方法: public Future<V> submit(Callable<V> task) 提交要执行任务,并返回表示任务结果的Future public Future<V> take() 获取并移除表示...

2019-03-25 11:11:45 131

原创 java学习笔记93-Callable接口和Future接口

Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且声明无法抛出异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务的返回值 java.util.concurrent.FutureTask类实现了两个接口,Runnable和Future,所以它既可以...

2019-03-25 11:11:31 125

原创 java学习笔记92--线程池

如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么如果一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务的话,那么就可以大大提高其运行的效率。 在Java中可以通过线程池来达到这样的效果 1)了解java.util.concurrent包...

2019-03-25 11:11:19 138

原创 java学习笔记91--原子操作

1.定义 原子操作(atomic operation)是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何线程切换。 2.非原子操作i++ 在Java里面,++i(i++)或者--i(i--)不是线程安全的,这里面有三个独立的操作:获得变量当前值,为该值+1/-1,然后写回新的值. 通常情况下,只能使用加锁才能保证读-改-写...

2019-03-25 11:11:07 216

原创 java学习笔记90--java.util.concurrent.locks.Lock接口

JDK5.0后新增了Lock接口,可以是用来实现synchronized关键字的作用,同时功能更加灵活和强大,ReentrantLock类是JDK中提供的Lock接口的默认实现 1)Lock接口的lock()方法和unlock()方法 例如: public class LockTest extends Thread{ public static void m...

2019-03-24 12:56:19 154

原创 java学习笔记89--volatile关键字

1)停止线程的运行 Thread类中的stop方法可以停止线程的运行,但是该方法已经被弃用了,一般会采用改变对象中的一个标识的方法来停止线程的运行或者使用interrupt方法来中断线程 例如: public class VolatileTest extends Thread{ private boolean stop;...

2019-03-24 12:54:39 100

原创 java学习笔记88-死锁

在程序中是不允许出现死锁情况,一旦发生那么只能手动停止JVM的运行,然后查找并修改产生死锁的问题代码。简单的描述死锁就是:俩个线程t1和t2,t1拿着t2需要等待的锁不释放,而t2又拿着t1需要等待的锁不释放。 注:可以通过jconsole查看到线程死锁的情况 例如: public class ThreadDeadLock extends Thread...

2019-03-24 12:52:27 110

原创 java学习笔记87--线程通信-wait()与notify()/notifyAll()方法

在Object中,三个wait方法(重载),notify()以及notifyAll()方法都是和线程通信有关的方法 注:这几个方法只能是在synchronized关键字使用时,被用来充当锁的对象才能调用,并且只能再加锁的范围内调用,否则其他情况调用会抛出异常。 1)wait方法 当一个线程拿到锁,进入到被锁的代码中执行代码时候,突然调用了锁的wait方法,那么这...

2019-03-24 12:47:19 257

原创 java学习笔记86--线程同步的实现

在java中,使用synchronized关键字来实现线程同步的效果。 synchronized关键字可以用来修饰方法,也可以直接作用到某段代码上 例如: public class Test{ private int x; public synchronized void test(){ String name = ...

2019-03-24 12:38:27 93

原创 java学习笔记85--非线程安全和线程安全

在多个线程并发访问的环境中对共享数据进行操作的代码或方法中会出现其结果不确定的情况,那么这段代码或者方法就是非线程安全的。产生这种情况的原因大多是因为一个线程在执行这段代码或方法的时间内,另一个线程也是有可能执行这段代码或方法的(抢夺时间片),从而造成了这段代码或者方法中对共享数据操作的结果如果一段代码在多个线程并发访问的时候是 非线程安全的,那么就可以采用把这段代码进行线程同步的方式进行处理...

2019-03-24 12:34:13 88

原创 java学习笔记84--数据共享

俩个或多个线程可以共享对象中的数据 例如: public class ThreadTest extends Thread{ private Student student; public ThreadTest3(String name) { super(name); }...

2019-03-24 11:24:07 83

java基础.xmind

请用软件xmind打开,图中包含java基本知识,一些重点都写了大量注解,适合复习java以及java初学者参考

2019-05-10

电影票售票系统(SSH框架)

练习作,数据库设计的不太好,不过包含基本的SSH框架知识,含数据库文件可完美运行,对于初学SSH的人一份不错的参考实例

2019-03-16

新闻发布系统(jsp+servlet)

可当做一个简单的项目实例,包含数据库文件,有基本的增删改查,对于初学者来说简单易懂!

2019-03-16

动漫资源下载系统(jsp+servlet)

练习作,含数据库文件,可完美运行,就是功能太少,包含数据库基本的增删改查,技术含量不大,正在学习相关技术的人可下载参考

2019-03-16

jsp+servlet 网上书城项目

含数据库文件(oracle),项目简洁不复杂,符合简单的课程设计要求,对于学习jsp和servlet大有益处,积分较高,但绝对干货!

2019-03-16

JavaScript课件及例程

包含JavaScript所有基础,里面包含章节对应知识点的例程,有详细的html文件参考练习,亲测有用!

2018-08-18

jsp课程设计

动漫资源下载系统(大二期末设计,物超所值)附源代码 前端用户界面,用户注册登录,动漫分类及分页,搜索查询功能,构建数据库,动漫下载功能,后端管理员功能,提供管理员对数据库的增删改查的操作,用户可见页面的CSS样式,丰富添加数据库内容,实现UI界面

2017-12-28

java程序设计--售票系统

和小伙伴第一次尝试,实现了可视化的窗口给用户以简单快捷的操作体验。软件已提供各种可行性功,新用户可在登录界面进行注册,已注册用户登入软件后,可查询出发地与目的地的各个日期的车辆或航班班次,以便进行预订。在弹出的支付页面中,用户需输入支付密码以便将金额转入系统中。在软件主界面中,用户可点击“订单”来查看自己已经预订的车(机)票,并可进行退订。用户点击主界面上的“我的”按钮,以查看自己的各种信息(如姓名,密码,支付密码等),该软件一并提供了对用户信息的增删改减功能,可实时修改、保存信息。

2017-08-11

空空如也

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

TA关注的人

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