- 博客(64)
- 收藏
- 关注
原创 javaweb得到前端页面的数据,快速封装成为实体类的一个小案例
实现的过程主要就是写了一个前端的页面,里面有一个表单,表单里面有一些输入框,我们填写完毕数据以后将数据提交给servlet,servlet将数据分装成为一个实体类。简单的前端页面得到表单信息的集中方法post和get方式统用的得到前端数据的方法这是四种post和get方式都可以得到数据的方法* 1. String getParameter(String name):根据参数名称获取参数值 username=zs&password=123* 2. String[] getPar
2021-11-29 22:44:31
2875
1
原创 线程数据安全05-----(同步代码块) 生产者和消费者案例 ,生产牛奶消费牛奶
文章目录实现目标测试类生产者消费者实现目标这里我们实现一个生产者消费者的问题实现生产者吧牛奶放到 牛奶盒子里面 消费者从牛奶盒子里面拿牛奶喝创建四个类1.创建牛奶盒子类 实现放牛奶和得到牛奶的方法2.创建消费者 构造方法的参数是牛奶盒子 继承自Runnable 调用放牛奶3.创建生产者 构造方法的参数是牛奶盒子 继承自Runnable 调用得到牛奶4.创建测试类 创建 生产者和消费者 两个线程测试类public class milkTest {public st
2021-11-28 23:06:08
399
原创 python绘制一个简单的函数图像使用到了matplotlib库和numpy库
文章目录效果展示:视频链接实现的思想使用到的函数包图片一对应的代码展示图片二 对应的代码展示注意事项效果展示:视频链接python绘制一个简单的函数图像(B站视频)实现的思想其实就是我们先把点给设置好,然后就可以描点连线了就是使用的matplotlib这个包下面的pylib这个模块下面的 plot()和scantter()方法来实现的这两个包的使用手册参考网址:numpy使用参考手册matplotlib的模块pylab参考手册使用到的函数包matplotlib 和 numpyN
2021-11-28 23:05:21
2145
原创 pycharm安装教程,2021.11月社区版安装
第一步安装解释器,第二步安装pycharm1第一步安装解释器1.1什么是解释器:?? 就是将Python程序翻译成为计算机可以识别的01代码1.2安装解释器:解释器安装地址:https://www.python.org/downloads/release/python-372根据自己的操作系统安装适配的解释器: 这里以Windows为例注意安装的时候我们需要需注意吧解释器添加到环境变量里面双击开始安装勾选add python to path ,如果安装的时候没有勾选,请安装结束以后按
2021-11-28 22:34:19
5184
原创 tomcat免安装安装方式,tomcat的安装,卸载,Tomcat启动后窗口一闪而过,出现的问题以及问题的解决方案
文章目录1tomcat的安装方法(免安装方式,直接就是文件夹)2安装2.1开启和关闭3卸载,我使用的是免安装版本的,所以卸载就方便的多了4运行tomcat5运行出错以及错误的解决方法5.1点击bin文件夹里面的startup.bat文件窗口一闪而过5.2点击tomcat文件夹bin里面的startup.bat以后控制台报错了5.2.1.我们找到占用8080端口的程序去关闭掉这个程序(建议这种方式)5.2.1.1 使用360软件管家差看程序的端口号,找到占用8080端口的软件,关闭那个软件5.1.2 我们直接
2021-11-25 23:04:03
1974
原创 前端使用bootstrap实现一个简单的小案例,重点是关注响应式布局
1.案例的效果展示我们使用的是响应式布局,所谓的响应式布局就是可以使得同一套页面可以兼容不同分辨率的设备。可以看到苹果的官网当你将浏览器的串口放的很小的时候网站的布局也会随这页面大小发生变化,当我们在手机或者pad上面去访问网站的时候还是会有一个不错的体验的。当浏览器的页面变小以后首先可以看到的就是,导航栏进行了折叠,还有就是这些图片也还是可以完全显示出来的,这就是响应式布局一个明显的效果2 主要的知识点之前我做这个网页的时候使用的是table里面嵌套table,虽然可以实现效果但是,没有使用
2021-11-24 21:38:10
5359
2
原创 输入框失去焦点对的输入框里面的数据进行表单校验,点击提交按钮也实现表单的校验,调用方法的时候家加不加()的区别
1效果展示2实现的思路思想就是我们先在一个输入框的后面放置一个占位用的span标签* 根据表单的验证是否成功来设置span标签里面的东西 成功了就现实对号 失败了就显示“您输入的数据格式有误”* 有两个事件触发表单的校验* 1.点击提交按钮* 2.输入框失去焦点** 我们在这里只实现了 姓名和密码的数据校验3关于javascript里面调用方法的时候加不加括号的区别注意这里有一个要注意的点在执行代码的时候 千万不要在checkUseName后面加() 像下面这样* do
2021-11-20 12:48:52
3349
原创 javascript实现一个动态的表格,这个小的案例是没有数据库的,只是一些前端的知识,使用到了innerHTML
1效果展示就是在输入框里面输入数据点击按钮 将数据添加到下面的table里面,点击table里面的删除超链接来删除一条记录和数据没有一点关系的2用到的知识增删原理:这里的添加原理很简单就是使用javascript的DOM对象进行处理添加一行就是使用appendChild()方法实现添加一条记录删除对象的时候就是使用使用父类标签的removeChile方法来实现的3添加的实现过程:/*** 实现的过过程* 1.我们要通过输入框的id 先得到三个输入框里面的数据 方法 输入框对象的v
2021-11-18 20:07:22
1845
2
原创 线程数据安全04-----使用Lock锁
这里我们讲解使用Lock来给线程加锁 就像我们之前使用synchronized方法来加锁一样Lock是一个接口 我们要使用多态的方式 使用接口的实现类对象ReentrentLock 来创建对向 ReentrentLock 构造方法 ReentrentLock(); 成员方法 lock() ; 添加锁 unLock() ; 释放锁线程代码public class SaleTackets implements Runnable{priva
2021-10-18 23:22:49
104
原创 线程数据安全03-----(同步方法)解决对个窗口卖出同一张票的问题
说白了就是上一节我们学到的同步代码块,实际上就是对一部分的代码块上锁,这里我们学习同步方法就是给一个方法上锁代码实现了三中同步的方式来保证数据安全注意事项:无论是哪一种方式 我们都要保证线程使用的是通一把锁同步方法的时候并没有明确的指出锁的参数是什么 ,我们设置了一个 除以2 的i循环来了解同步方法的锁是什么类型的public class SaleTickets implements Runnable{/*同步里面的锁我们要注意的就是 、不同地方的锁要是同一把锁*/priv
2021-10-18 23:21:37
158
原创 线程数据安全02-----(同步代码块)解决对个窗口卖出同一张票的
问题分析:出现了数据安全问题 , 主要原因就是同一时间有多个线程操作了共享的数据我们这个程序一开始会出现多个窗口卖出了同一张票这种情况就是出现了数据安全的问题出现数据安全的问题的原因1.是否有多线程环境2.是否有共享数据 这里的共享数据就是 tickets3.是否有多条语句操作共享数据 这里就是对数据的输出 和++ 操作解方法就是给程序加锁,在某一段时间只能有一个程序操作共享数据破坏第三个条件具体代码的分析:private int tickets = 1;public void
2021-10-18 23:18:57
141
原创 线程控制的三个方法:等待 , 死亡 , 标记为守护线程
文章目录线程控制的三个方法1线程等待2.等待到线程死亡3.把线程设置为守护线程我们讲解线程控制的三个方法static void sleep(long millionTime) 暂停线程的运行 单位为毫秒void join() ; 等待这个线程死亡void setDeamon(boolean on) 将此线程标记为守护线程,当所有线程都是死亡线程的时候 JVM退出1线程等待public class demo01 {/*我们讲解线程控制的三个方法static voi
2021-10-18 23:16:53
228
原创 创建线程的两种方法继承Thread或者实现Runnable
方法一:(1)定义一个类Mythead类继承自Thread(2)在Mythread类里面重写Thread的run方法(3)在测试类里面创建Mythrea类的对象(4)使用Mythread的对象调用start方法开启线程代码展示Mythread类public class Mythread extends Thread{public Mythread() {}//有了带参构造以后系统的默认无参构造就没有了我们要手动给出public Mythread(String name) {su
2021-10-18 23:13:56
363
原创 线程数据安全01-----java多线程出现场的一些现象,以及解决方法(实现线程安全 同步代码块)
我让三个线程充当三个售票窗口售卖100张票,但是会出现三个线程卖出同一张票的现象会发现窗口一和窗口二都卖出了同一张票,这是为什么?原因就是java多线程执行的随机性代码讲解卖票的类public class SaleTickets implements Runnable{/*实现一个买票的操作成员变量 private int tickets = 100买票这个动作要一直存在就算没有票了也会有人来问 死循环*/private int tickets = 1;/*@Ove
2021-10-18 23:11:46
147
原创 java多线程编程02设置线程的优先级,讲解线程调度方式
1.线程的调度方式(1)时间片轮转方式: 平均 公平(2)抢占式调度:根据优先级不同,优先级高的线程获得时间片的机会大一点优先级相同时会随机选取一个线程执行JAVA使用抢占式调度方式:计算机只有一个CPU,CPU在某一时刻只能执行一条指令,线程只有的到时间片才能有使用权,所以JAVA多线程的执行具有随机性2.设置和获取优先级的方法Thread类的成员方法,方然我们创建的Thread的子类可以使用这些方法public final int getPriority() ; 获得优先级p
2021-10-18 23:05:46
303
原创 JAVA多线程01获得和设置线程名
这里讲解一次下JAVA多线程的基本知识1.线程和进程(1) 进程进程是系统进行资源分配和调用的独立单位每一个进程都有他自己的内存空间和系统资源(2) 线程线程是进程里面单个的顺序控制流是一条直行路径单线程: 一个进程如果只有一条执行路径,则成为单线程程序多线程:一个进程如果有多条执行路径则称为多线程2.进程的实现方式方式一:(1)定义一个类Mythead类继承自Thread(2)在Mythread类里面重写Thread的run方法(3)在测试类里面创建Mythrea类的对象(4)
2021-10-18 23:05:05
162
原创 JAVA网络编程11---TCPdemo1客户端上传图片文件,服务器接收这个文件,并且给出反馈(完结)
接收TCP数据的时候可以对socket的输入流进行封装,只可以把socket的getInputStream方法封装为BufferedInputStream但是使用socket发送数据的时候是不能对socket的getOutputStream进行封装的客户端实现的操作1.读取本地图片文件 使用BufferedInputStream2.使用socket的getOutputStream方法数据发送给服务器注意这里不要对这个socke的输出流进行封装,不然会出BUG 可能会导致只上传了一部分文件3.
2021-10-18 23:03:37
350
原创 JAVA网络编程10---TCPdemo1客户端上传图片文件,服务器接收这个文件(复制)
这个程序有一个缺陷就是我没有办法给出反馈,不知道怎么回事,修改一点点东西就会导致图片文件上传的时候只上传了一部分//客户端代码/*读取一个图片数据客户端读取文件的数据 把数据发送给服务器 并接收服务器的反馈*/public static void main(String[] args) throws IOException {//创建客户端的socket对象Socket socket = new Socket("192.168.0.109",10086);//创建文件的读取流 创建
2021-10-17 16:31:39
163
原创 JAVA网络编程09---TCPdemo1客户端上传txt文件服务端接收并写入文件,使用多线程来一个客户端就开启一个线程为他服务
实现客户端从文本文件读取数据把数据给到服务器 服务器接收数据并保存到文件服务器一直开着 来一个客户端就多开器一个线程使用到了多线成的技术//客户端代码public static void main(String[] args) throws IOException {//客户端的socket对象Socket socket = new Socket("192.168.0.109" , 10011);//scket的输出流 用于向服务器发送数据OutputStream socketout
2021-10-17 16:29:23
151
原创 JAVA网络编程08---TCPdemo1客户端读文件数据发出,服务端接收并写入txt文件再给出反馈
前面我们实现了客户端键盘录入数据,客户端吧数据写到文本文件里面,客户端发送数据的时候使用的是字节缓冲输入流 ,我们如果使用字节缓冲输入流BufferedOutputStream的时候可能会出现BUG这里客户端读取文件数据的时候使用BufferReader 向服务器发送数据的时候使用BufferedWriter然后我们要让服务器端给出我们反馈这里面客户端上传完数据等着客户端给我们反馈,然后服务器端还在等着我们上传数据呢,两个人就都开始相互等待了,所以客户端上传完数据以后要给客户端一个提示说我的数据已经
2021-10-17 16:27:05
223
原创 JAVA网络编程07---TCPdemo1客户端发送服务端接收并写入txt文件
回忆一下我们之前学习使用IO流实现键盘录入数据的时候的过程使用字节输出流的时候 InputStream OutputStream都是抽象类我们要使用他们的具体类先创建一个字节输出流,参数就是一个文件的地址FileOutPutStream(String pathname)FileOutPutStream(File file)或者用BufferedOutputStream(OutputStream output )参数是一个字节输出流,因为OutputStream是一个抽象类我们要使用他的子
2021-10-17 16:25:37
441
原创 JAVA网络编程06---TCPdemo1客户端发送服务端接受并给出回复
这里我们实现通过键盘录入数据 吧数据发送给服务器实现过程L1.我们对键盘录入的数据做一个封装 使用字符缓冲输入BufferedReader流进行接收2.使用字符缓冲输出流吧数据发送出去注意。我们从socket得到的是最基础的字节输入输出流 我们要把他封装成为字符缓冲流过程字节输入流 InputStream ----- inputStreamReader — BufferedReader字节输出流 OutputStream ------ OutpuStreamWriter — Buffer
2021-10-17 16:24:01
359
原创 JAVA网络编程05---TCPdemo1客户端发送服务端接受并给出回复
实现客户端发送数据 服务端接受数据并给出回复需要我们需要记住的是UDP叫做用户数据报协议 发送和接收数据的时候要用到的是数据包的类DatagramPackage 和 DatagramSocket但是使用TCP协议的时候是不用创建这个包的TCP是使用IO流传输数据的注意这里我的困惑,我们在使用TCP进行数据发送到时候,、肯定会使用socket。getOutputStream() 获得输出流的对象,这是一个字节输出流我们也可以吧这个字节输出流封装为 字符缓冲输出流但是这样做的时候是
2021-10-17 16:22:07
597
原创 JAVA网络编程04---使用Tcp发送和接收数据
注意哦前面我们使用UDP协议发送端和接收端使用的都是DatagramSocket类的对象只不过两者使用的构造方法不一样 ,发送端使用的的是无参构造,接收端使用的是带参构造注意注意1. TCP发送数据TCP发送数据的步骤1.创建socket对象 直接使用socket类创建就可以socket的构造方法有两个一个是socket(String Host ,int port)一个是socket(InetAddress innet , int port)一般为了方便我门就是用第一个构造方法2.
2021-10-17 16:19:52
839
原创 AVA网络编程03---使用UDP发送和接收数据键盘录入控制台输出
客户端的代码需要我们需要记住的是UDP叫做用户数据报协议 发送和接收数据的时候要用到的是数据包的类DatagramPackage 和 DatagramSocket但是使用TCP协议的时候是不用创建这个包的TCP是使用IO流传输数据的/*客户端实现键盘录入数据将录入的数据发送出去 直到输入的数据是886就不再发送数据服务器端获取客户端发多来点的数据输出到控制台*/客户端的代码public static void main(String[] args) throws IOExcep
2021-10-17 16:16:21
428
原创 JAVA网络编程02---使用UDP发送和接收数据
UDP发送数据的步骤 :主要是使用DatagramSocket类的socket对象注意1.在测试发送和接受的时候要先开启接收端在开启发送端2.发送端和接收端都需要创建Socket对象 ,但是发送端在创建socket对象的时候使用的是无参构造,在构面创建发送数据包的时候,才加入了字节数组,数组的长度,IP地址和端口接收端创建socket对象的时候,使用的是带参构造方法,参数是端口号。在创建接受数据包的时候传入的参数是字节数组的名字和字节数组的长度具体的代码public static void
2021-10-17 16:15:10
510
原创 JAVA网络编程01——网络编程的三要素TCP/UDP的特点
文章目录端口:设备上面应用程序的唯一标识协议UDP TCP协议:InetAddress类的使用网络编程的三要素: IP 端口 协议端口:设备上面应用程序的唯一标识协议UDP TCP协议:在计算机网络中,连接和通信的规则被称为网络协议我只管发送不管你是否收到数据,所以这个UDP是没有服务器和客户端的概念的InetAddress类的使用注意:这个InetAddress是没有构造方法的(没有构造方法我们就不能创建对象,就没办法调用类的非静态方法),以前我们遇到一个类如果没有构造方法,他
2021-10-17 16:12:05
90
原创 java多线程编程02---设置线程的优先级,讲解线程调度方式
文章目录1.线程的生命周期2.线程的调度方式3.设置和获取优先级的方法4.代码展示1.线程的生命周期2.线程的调度方式(1)时间片轮转方式: 平均 公平(2)抢占式调度:根据优先级不同,优先级高的线程获得时间片的机会大一点优先级相同时会随机选取一个线程执行JAVA使用抢占式调度方式:计算机只有一个CPU,CPU在某一时刻只能执行一条指令,线程只有的到时间片才能有使用权,所以JAVA多线程的执行具有随机性3.设置和获取优先级的方法Thread类的成员方法,方然我们创建的Thread的子
2021-10-11 23:43:01
761
原创 JAVA多线程01-----获得和设置线程名
这里讲解一次下JAVA多线程的基本知识1.线程和进程(1) 进程进程是系统进行资源分配和调用的独立单位每一个进程都有他自己的内存空间和系统资源(2) 线程线程是进程里面单个的顺序控制流是一条直行路径单线程: 一个进程如果只有一条执行路径,则成为单线程程序多线程:一个进程如果有多条执行路径则称为多线程2.进程的实现方式方式一:(1)定义一个类Mythead类继承自Thread(2)在Mythread类里面重写Thread的run方法(3)在测试类里面创建Mythrea类的对象(4)
2021-10-11 23:36:04
392
原创 java里面lO流的一个案例实现把书店里面顾客的购物信息存储到.csv的表格文件里面
文章目录1.案例实现效果展示2.程序里面用到的知识(1)我们要获得当前的年月日来创建文件名(2)我们要把购买的数据写入文件,IO流的知识(3)我们要把创建的是一个表格文件.csv文件,我们要知道.csv文件的书写方法(4)小知识点,String和StringBufffer的区别3.各个类之间的方法调用4.程序源码1.案例实现效果展示目的在于每天生成一个销售表格,用户买完书以后吧用户的购买信息放到excel表格里面去。用excel打开就是这样的(如图所示)注意这里的文件名 21年10月10日
2021-10-10 17:08:23
518
原创 java里面自定义方法实现键盘录入数据的接收。(模仿Scanner的效果)
/*讲解标准输入输出流System 下面有两个静态成员变变量public static final InputStream in;public static final OutputStream out;in和out都是字节流对象*/public class demo1 { public static void main(String[] args) throws IOException { //使用字节流接收键盘录入的数据 // 1
2021-10-08 22:28:41
290
原创 java里面使用IO流(字节流,字符流)时对异常的几种处理方法
文章目录1.为什么要写处理异常?2.处理异常的几种方法3.代码演示三种方法1.为什么要写处理异常?我们之前只要是只用到IO流的时候为了方便,一般都直接把异常给throw出去了。但是这样做存在不妥当的地方,因为我们根本就没有处理异常 只是抛了出去。更加重要的就是有可能在我们释放资源之前程序就因为异常退出了,导致并没有释放资源2.处理异常的几种方法注意后面两个都是自动释放资源3.代码演示三种方法方法一 直接抛出异常等于没有处理 try…catch…finally//这种方法抛出了异常 谁调用我
2021-10-08 22:26:03
1233
原创 字节流和字符流的结构小解
文章目录1.字节流结构图2.字节流类讲解3.字符流结构图4.字符流类的讲解1.字节流结构图2.字节流类讲解FileInputSteam可以实现文件的读取,构造方法FileInputSteam (String pathname)FileInputSteam (File file) BufferedInputStream可实现更加高效的数据读取构造方法:BufferedInputStream (InputStream inputSteam);参数是一个抽象类,我们要使用他的具体子类一般
2021-10-07 17:26:33
349
原创 java使用字节缓冲流BufferedInpustream和递归复制一个多级文件夹
1.项目介绍实现复制多级别目录 就是文件夹里面可能还有文件夹D:\A_安卓心得\java后端\waitForCopy02 下面的waitForCopy02文件夹复制到C:\Users\Administrator\IdeaProjects\Day07下面2.实现过程实现过程1.创建源文件File对象2.创建目的地File对象3.判断源文件是不是文件夹是A.在目的地创建和源文件一样的文件夹B.获取源文件下面所有的文件和文件夹的File数组C.遍历该数组得到每一个File对象 这个对象
2021-10-06 23:39:22
139
原创 java里面使用字节缓冲流复制单级文件夹
文章目录1.demo效果2.注意点和方法3.代码展示1.demo效果实现单级文件夹的复制,单级文件夹就是文件夹里面只有文件,没有文件把D:\A_安卓心得\java后端\waitForCopy 下面的waitForCopy文件夹复制到C:\Users\Administrator\IdeaProjects\Day07下面实现步骤:1.创建源文件file对象 使用构造方法2.获得一下源文件file对象 的文件名 使用getName()3.创建要复制文件的file对象 判断这个文件名是否存在,
2021-10-06 22:22:38
176
原创 java使用TreeSet集合存储学生对象实现比较器排序,demo里面还包含了文件的读取
1.案例实现键盘录入学生的信息,吧数据存储到txt文件里面然后我们在吧txt文件里面的数据读取出来 ,转变为学生对象,添加到treeset集合,treeset集合吧集合里面的元素按照总成绩进行排序存储。 这里我主要想讲解一下 TreeSet集合2.集合结构集合相比于数组就是集合的长度是不固定的,不用提前设置集合的长度,集合的结构如下比较常使用的就是ArrayList,TreeSet,HashMapTreeSet的元素不重复,并且可以实现比较器排序,可以按照自己定义的方法进行排序,或者进.
2021-10-06 18:25:26
854
原创 字符流BufferedReader的小应用2,把txt文件里面的数据转化为学生对象并添加到集合,使用了Split方法
要求 吧文件里面的 001,海洋,22,河南 一行行 这样的数据转化为学生对象然后存储到ArrayList集合里面注意我们在对字符串001,海洋,22,河南进行处理的时候需要使用String 的split方法进行切割 返回一个String数组Split案例 String str = "one:two:three"; String[] result = str.split(":"); for(String s: result) { System.ou
2021-10-05 17:04:41
476
原创 字符流的小应用实现班级学生信息录入txt文件
把学生对象添加到集合里面去 再把集合里面的数据一行一行的放到文件里面去学生类代码:public class Student { private String id; private String name; private int age; private String address; public Student() { } public Student(String id, String name, int age, String ad
2021-10-05 16:31:52
401
原创 java里面IO流,字节流,字符流的小结
话不多说直接上图 字节流我们来讲解一些字节流四个具体类的方法他们抽象父类的read() write()方法他们都有FileInputStream构造方法:FileInputStream(String name) //参数是路径字符串FileInputStream(File file) //参数是File对象成员方法:int read(int b) //一次读一个字节int read(byte[] bys) //一次读一个字节数组int
2021-10-05 15:13:01
89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人