02 2021 档案
摘要:首先开发客户端: TCP_Client.java: 1 package com.hw.TCP0226; 2 3 import java.io.IOException; 4 import java.io.OutputStream; 5 import java.net.Socket; 6 import
阅读全文
摘要:循环很简单,像这样就OK: TCPOfSend.java: 1 package com.hw.TCP0226; 2 3 import java.io.IOException; 4 import java.io.OutputStream; 5 import java.net.Socket; 6 imp
阅读全文
摘要:在TCP协议中,我们一般认为发送端为客户端,接收端为服务器端。 首先来开发客户端: TCPOfSend.java: 1 package com.hw.TCP0226; 2 3 import java.io.IOException; 4 import java.io.OutputStream; 5 i
阅读全文
摘要:要实现双向聊天,首先我们要开两个线程。其次因为这里只是做测试,因此我们的接收端和发送端都是本机。 首先是SendThread.java: 1 package com.hw.UDP0226; 2 3 import java.net.DatagramPacket; 4 import java.net.D
阅读全文
摘要:首先我们来开发一下UDP协议的发送端。 UDP_SEND.java: 1 package com.hw.UDP0226; 2 3 import java.net.DatagramPacket; 4 import java.net.DatagramSocket; 5 import java.net.I
阅读全文
摘要:这里我们实现使用电影院窗口和手机APP同时卖票: 因为是两种方式同时卖票,所以我们需要创建两个类,一个是AppTicket类,一个是WindowTicket类。另外还需要创建一个类专门来管理票,因为两个线程是需要共享“票”这个数据的。最后创建一个类,里面是主方法。 AppTicket: 1 pack
阅读全文
摘要:我们可以设置线程组,便于以后的管理。 1 package com.hw.second0224; 2 3 public class Group { 4 public static void main(String[] args) { 5 MyRunnable r = new MyRunnable();
阅读全文
摘要:使用锁的话,有时候我们会遇到死锁问题,来看代码: 1 package com.hw.third0225; 2 3 public class DeadLock { 4 public static Object lock1 = new Object(); 5 public static Object l
阅读全文
摘要:我们假设某个游乐园入口有四个售票点,一共有200张票,四个售票点同时售票。那么在代码中如何实现这个功能? 我们可以先创建一个TicketThread类: TicketThread.java: 1 package com.hw.third0225; 2 3 public class TicketThr
阅读全文
摘要:其实我们可以使用匿名内部类来完成之前的那些操作: 1 package com.hw.second0224; 2 public class MyRunnableTest { 3 public static void main(String[] args) { 4 Runnable r = new Ru
阅读全文
摘要:这里我们通过实现Runnable接口来创建线程: MyRunnable.java: 1 package com.hw.second0224; 2 public class MyRunnable implements Runnable{ 3 @Override 4 public void run()
阅读全文
摘要:我们来看看线程的join方法: 如果,没有join,代码如下,那么其运行效果如下: 1 package com.hw.thread0223; 2 3 public class ThreadDemo2 { 4 public static void main(String[] args) { 5 MyT
阅读全文
摘要:我们可以通过getPriority方法获得线程的优先级,对于主线程,因为它是在main方法里面执行的,不像MyThread那样可以通过对象获取,那么这里先获取线程,再得到它的优先级,来看看代码: 1 package com.hw.thread0223; 2 3 public class DemoTe
阅读全文
摘要:进程是什么?线程又是什么? 我们可以打开电脑的任务管理器来看看: 可以看到这里有很多程序在运行,那么,简单来说,一个程序就是一个进程。我们的计算机是支持多进程的。假如,计算机只支持单进程,那对于使用计算机的人们来说将是毁灭性的。比如,如果你想看在电脑上视频,那你就只能看视频,不能听歌,不能聊天,不能
阅读全文
摘要:这里,有了文件夹,难度就升高了,但是其实也没难到哪里去,我们的思路就是利用递归来解决这个问题。 1 package com.hw.file0223; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.nio.fi
阅读全文
摘要:直接上代码: 1 package com.hw.file0223; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.nio.file.Files; 6 7 import org.junit.Test; 8 9
阅读全文
摘要:这里显示使用Java中的readLine方法比较合适: 1 package com.hw.file0223; 2 3 import java.io.BufferedReader; 4 import java.io.FileNotFoundException; 5 import java.io.Fil
阅读全文
摘要:文件输入输出流既然有缓冲区,那么字符也就会有。他们的一些用法基本是一致的: 字符缓冲区输出流: 1 package com.hw.file0222; 2 3 import java.io.BufferedWriter; 4 import java.io.FileWriter; 5 import ja
阅读全文
摘要:有了前面的基础,字符输入流就很简单了: 1 package com.hw.file0222; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.IOExceptio
阅读全文
摘要:字符输出流跟前面的缓冲区输出流有点像,都是包装流。这里它先包装一个字节流,然后包装流会去处理里面的字节,将其转化成对应的字符。 其构造方法如下: 1 package com.hw.file0222; 2 3 import java.io.FileNotFoundException; 4 import
阅读全文
摘要:这里主要是做一个简单的练习: 1 package com.hw.file0221; 2 3 import java.awt.geom.CubicCurve2D; 4 import java.io.BufferedInputStream; 5 import java.io.BufferedOutput
阅读全文
摘要:缓冲区输入流也和文件输入流差不多,直接看代码: 1 package com.hw.file0221; 2 3 import java.io.BufferedInputStream; 4 import java.io.FileInputStream; 5 import java.io.FileNotF
阅读全文
摘要:设置了缓冲区的输出流之后,应用程序就可以将各个字节写入底层输出流系统中,而不必针对每次字节写入调用底层系统。 什么意思?如果我们是用之前的方式,例如文件输出流的方式,那么当每次写一个字节,就需要跟硬盘完成一次交互,也就是写到硬盘上,这样的话每个字节都需要写。而字节从程序到操作系统再写到硬盘上是需要花
阅读全文
摘要:这里用前面学到的东西完成文件的复制(从一个地方复制到另一个地方) 以下是按照字节来读取: 1 package com.hw.file0205; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5
阅读全文
摘要:有输入流,那么同样就有输出流。首先输出流同样有很多异常,全部使用try-catch来处理,看代码: 1 package com.hw.file0205; 2 3 import java.io.FileNotFoundException; 4 import java.io.FileOutputStre
阅读全文
摘要:我们可以构造一个文件输入流,然后再利用read方法读取文件中的一个字节: 1 package com.hw.file0205; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import j
阅读全文
摘要:prop方法其实与attr差不多,但是,一般来说具有true和false两个属性的属性节点,使用prop(),其他的用attr就可以了。 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6
阅读全文
摘要:attr方法可以获取或者设置属性节点的值。若传递一个参数:可获取属性节点的值;若传递两个参数:则设置属性节点的值。 例如在下面的代码中: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6
阅读全文
摘要:什么是属性?简单说,属性就是对象身上保存的变量。在以前的js代码里面(虽然个人感觉这里有点像Java,不过还是这么看一下叭),我们可以这样创建一个对象: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></t
阅读全文
摘要:通过jQuery我们还可以给一些checkbox添加全选和全不选的属性,代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <style type="text/css"> 7 8
阅读全文
摘要:可以通过jQuery来实现隔行换色。 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <style type="text/css"> 7 8 </style> 9 <script typ
阅读全文
摘要:我们还可以使用jQuery添加广告弹窗,来看下是怎么实现的: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <style type="text/css"> 7 #ad{ 8 width
阅读全文
摘要:首先这里,我们需要新建一个jQuery项目,在js里面把jQuery复制过来,复制这个就好了: (第一个文件) 像这样就OK了,然后在代码里面引入。 然后就看代码叭: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <ti
阅读全文
摘要:像onclick这样的就是一个事件,我们可以在JS代码中给html的元素添加事件。 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 </head> 7 <body> 8 <div onc
阅读全文
摘要:我们在获得了html元素之后,还可以设置属性,甚至是CSS样式等,来看代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 7 </head> 8 <body> 9 <div id="
阅读全文
摘要:1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 7 </head> 8 <body> 9 <div id="one"> 10 <span> 11 在 HTML 中 DOM(文档对象模型)
阅读全文
摘要:1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <script type="text/javascript"> 7 8 function user(name,age,sex){ 9 th
阅读全文
摘要:JavaScript中的对象是键值对的组合,每一个对象里面都既有一个键,又有一个值。比如,如果我们需要创建一个对象来保存一个人的信息,有如下几种方式: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></ti
阅读全文
摘要:今天闲着无聊自己写点程序玩,可以实现的效果是:先提示用户输入一个未排序的数组,然后把排完序后的数组输出,再提示用户输入要查找的元素,然后返回索引。这个程序可以一直进行下去,直到用户输入0. C++实现: 1 #include <iostream> 2 #include <string.h> 3 4
阅读全文
摘要:我们自己来编写寻找某个数字的方法。 首先是findNum方法,我们在一个数组中寻找某一个数字,如果存在的话,返回寻找到的第一个该数字的索引,如果没有找到的话,返回-1. 首先,我们肯定要传一个数组和要寻找的数据进去,先声明一个变量res=-1,如果没有找到的话,直接将其返回。其次,我们需要遍历这个数
阅读全文
摘要:伪类选择器我们以超链接为例。 当给某文字设置了超链接后,可以看到访问该网站之前和访问该网站过后,其颜色是不一样的。这个时候如果我们要自主设计颜色,可以通过伪类选择器进行。 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <
阅读全文
摘要:如果我们要为div、p、span标签添加某些效果,一个一个去设置未免太麻烦,这时候我们就可以这么干: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <style type="text/
阅读全文
摘要:通过选择器,我们可以控制所有是这一标签影响下的元素。选择器之间还可以进行嵌套,通过各种嵌套来设置给指定的元素设置各种信息。 在这之前我们控制整个页面有三种方式,分别为内部引入方式、外部引入方式和行内引入方式。行内引入方试的优先级最高,剩余两种哪个最后写哪个优先级高。 1 <!DOCTYPE html
阅读全文
摘要:创建文件:我们可以通过调用createNewFile方法创建一个新的文件。但这个方法可能会出现一些问题,可能是由于访问权限等所导致的,因此先抛出异常。 1 package com.hw.file0205; 2 import java.io.File; 3 import java.io.IOExcep
阅读全文
摘要:基本概念:IO流即输入输出流。从硬盘上把数据读取到内存中的这个过程称为输入,即input.这个过程也叫读入,read.在内存中对数据进行一系列处理,处理完毕后读出,放回到硬盘上并保存的过程,就是输出,即output.也叫写入,write.文件操作就叫做IO流。 操作:首先完成对File对象的构造。这
阅读全文
摘要:可变参数也可以是字符串,比如这样: 1 package com.hw.ArrayListDemo0131; 2 public class ChangeableMethod { 3 public static void main(String[] args) { 4 add("hello"); 5 S
阅读全文
摘要:引言:加入我们定义一个可以做加法的方法,那么很自然需要给这个方法一些参数。比如如果做两个数的加法,就传两个参数;三个数的加法,就需要三个参数...这样一来,是不是只要相加的数多了,需求发生了改变,我们就需要重新定义一个方法?这样会显得特别麻烦。因此,就有了可变参数。 可变参数,我们可以在参数的括号里
阅读全文
摘要:引言:我们写程序时,如果操作不当会导致程序崩溃,为了尽量避免这样的事情的发生,可以使用try-catch语句来完成异常处理。 代码: 1 package com.hw.ArrayListDemo0131; 2 import java.util.ArrayList; 3 public class Te
阅读全文
摘要:下面这份代码把我们刚才做的注册系统功能完善了一下,各个功能的作用都已在注释中给出: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>为梦而狂-注册页</title> 5 <meta http-equiv="Content-Type" content= 6 "
阅读全文
摘要:我们可以在<td></td>标签里面设置属性控制行与行之间的合并,也可设置列与列之间单元格的合并。列与列,就写colspan="2";行与行就是:rowspan="2",这都表示合并两个,记得合并后一定要把合并的那个单元格的代码删除!如下所示: 1 <!DOCTYPE html> 2 <html>
阅读全文
摘要:下面是HashMap: 1 package com.hw.ArrayListDemo0131; 2 import java.util.HashMap; 3 import java.util.Map; 4 5 public class HashMapDemo { 6 public static voi
阅读全文
摘要:HashSet和TreeSet在一些方法的使用上差不多,它俩与之前的列表不同的是,它俩是无序的,且是不重复的。 1 package com.hw.ArrayListDemo0131; 2 import java.util.HashSet; 3 public class HashSetDemo { 4
阅读全文
摘要:遍历集合时我们可以使用遍历器。 1 package com.hw.ArrayListDemo0131; 2 import java.util.ArrayList; 3 import java.util.Iterator; 4 public class ArrayListDemo { 5 public
阅读全文
摘要:说明: Java中的集合比数组更加方便。首先一点,数组的长度是固定的,一旦确定之后,便无法改变长度,但是,集合的大小是可变的,可随意添加或删除,并且不需说明大小。 添加数据:集合就是一个容器,容器是用来放东西的,因此,集合就是用来放数据的,并且集合可放置任意类型的数据。习惯上都会放置同种类型的数据。
阅读全文
摘要:在网页中插入表格。具体标签和属性都已在代码的注释中给出: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>流年笑掷,未来可期</title> 5 <meta http-equiv="Content-Type" content= 6 "text/html;ch
阅读全文
摘要:说明:我们可以通过超链接实现跳转。 代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>这里是卖报的小画家</title> 5 <meta http-equiv="Content-Type" content= 6 "text/html;charset=u
阅读全文
摘要:无序列表: 把W3School这个网站有关HTML 5的介绍,做成一个无序列表: 代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>我的光荣与梦想</title> 5 <meta http-equiv="Content-Type" content
阅读全文
摘要:显示图片: 插入:我们想要在网页中插入图片的话,可以使用<img/>标签,这个标签是自成一体的。在插入图片时,需要给出图片的路径。 大小设置:其次,可以自己设置图片大小,推荐使用width,且用百分数来表示,这样可以解决用不同浏览器打开时的兼容问题。因为用百分数表示时,图片大小可以根据网页大小自己调
阅读全文
摘要:我们直接看代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>我的光荣与梦想</title> 5 <meta http-equiv="Content-Type" content= 6 "text/html;charset=utf-8"/> 7 </hea
阅读全文

浙公网安备 33010602011771号