- 博客(32)
- 收藏
- 关注
原创 javaEE学习总结(六)JavaWeb--HTTPS协议
HTTPS 也是一个应用层协议. 是在 HTTP 协议的基础上引入了一个加密层.HTTP 协议内容都是按照文本的方式明文传输的. 这就导致在传输过程中出现一些被篡改的情况。对称加密其实就是通过同一个 “密钥” , 把明文加密成密文, 并且也能把密文解密成明文.非对称加密要用到两个密钥, 一个叫做 “公钥”, 一个叫做 “私钥”.证书:在客户端和服务器刚一建立连接的时候, 服务器给客户端返回一个 证书。这个证书包含了刚才的公钥, 也包含了网站的身份信息。当客户端获取到这个证书之后, 会对证书进行校验(防止证书
2022-06-13 11:38:31
333
原创 javaEE学习总结(六)JavaWeb--HTTP协议
1.什么是HTTP超文本传输协议;应用层协议2.HTTP的基本格式HTTP请求的格式:首行(请求行): [方法] + [url] + [版本]Header(报头): 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束Body(请求正文): 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有一个Content-Length属性来标识Body的长度;HTTP响应的格式:首行: [版本号] + [状态码] + [
2022-06-13 11:10:36
602
原创 javaEE学习总结(五)--网络编程
一、基本知识IP地址IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。端口号在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程。协议协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。协议(protocol)最终体现为
2022-05-17 22:48:00
325
原创 javaEE学习总结(三)多线程--锁策略
一、乐观锁与悲观锁悲观锁:在每次拿数据的时候都会上锁。乐观锁:在数据提交更新的时候,才会正式对数据是否冲突进行检测,如果发现并发冲突了,则让返回用户错误的信息,让用户决定如何去做。synchronized初始使用乐观锁策略。当发现锁竞争比较频繁的时候,就会自动切换成悲观锁策略。二、读写锁读写锁就是把读操作和写操作区分对待。读读不互斥;读写/写写互斥;Synchronized不是读写锁三、重量级锁和轻量级锁重量级锁:加锁机制重度依赖OS提供的mutex互斥锁。轻量级锁:加锁机制尽
2022-05-16 15:33:30
141
原创 javaEE学习总结(三)多线程--多线程的案例2
二、单例模式单例模式:是32种设计模式的一种,它保证了某个类在程序中只存在唯一一份实例,二不会创建出多个实例。安全的单例模式的实现://单线程版class Singleton{ //懒汉模式,类加载的时候不创建实例,在第一次类使用的时候才能创建实例 private static Singleton instance=null; private Singleton(){}; //加synchronized改善线程安全问题 public synchronized
2022-05-10 11:47:58
168
原创 javaEE学习总结(三)多线程--wait和sleep
一、共同点在多线程中,wait用于线程之间的通信,sleep用于线程阻塞。共同点:让线程放弃执行一段时间。。。二、区别wait需要搭配synchronized使用,sleep不需要;wait是Object的方法sleep是Thread的静态方法。...
2022-05-10 11:28:42
155
原创 javaEE学习总结(三)多线程--多线程的案例
一、线程池什么是线程池介绍线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程的执行流程当任务来了之后,线程池的执行流程是:先判断当前线程数是否大于核心线程数?如果结果为 false,则新建线程并执行任务;如果结果为 true,则判断任务队列是否已满?如果结果为 false,则把任务添加到任务队列中等待线程执行,否则则判断当前线程数量是否超过最大线程数?如果结果为 false,则新建线程执行此任务,否则将执行线程池的拒绝策略。线程的拒绝策略
2022-05-10 11:20:50
227
原创 JavaEE学习总结(三)多线程--线程安全
一、什么叫线程安全如果在多线程的环境下代码运行的结果是符合预期的,就说明这个线程是安全的。二、线程为什么会不安全如果多个线程对共享变量进行修改就会发生线程不安全。原子性没有保障原子性会导致线程不安全,由于线程的抢占式调度原则,如果一个线程在对变量操作,中途其他线程插入,结果就有可能是错误的。可见性(一个线程对共享变量的修改能及时被其他线程看到)由于每个线程有自己的工作内存,这些内存中的内容相当于同一个共享变量的“副本”。此时修改线程1的工作内存的值,线程2的工作内存不一定会及时变化,从而导致
2022-05-09 22:39:54
195
原创 JavaEE学习总结(三)多线程--线程基本用法
一、线程的创建线程的创建有5种方法:public class ThreadCreate { //1.继承 Thread, 重写 run static class MyThread extends Thread{ @Override public void run() { System.out.println("创建了一个线程"); } } //2.实现RUNNABLE接口 static cla
2022-05-04 20:34:35
85
原创 javaEE学习总结(三)多线程--线程的几种状态
一、线程的几种状态NEW:安排了工作,还未开始行动;RUNNABLE:可工作的,又分为正在工作中和即将开始工作;BLOCKED:排队等待其他事情;WAITING:排队等待其他事情;TIMED_WAITING:排队等待其他事情;TERMINATED:工作完成...
2022-05-04 17:56:48
113
原创 javaEE学习总结(二)进程与线程
一、进程进程是表示资源分配(包括各种表格、内存空间、磁盘空间、I/O设备等)的基本单位,又是调度运行的基本单位。二、线程线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。三、进程与线程的区别(1)进程包含线程,每个线程至少有一个进程存在(主线程)。(2)进程与进程之间不共享内存空间,同一个进程的线程之间是共享内存的。(3)进程是系统分配资源的最小单位,线程是系统调度的最小单位四、进程与
2022-05-04 17:41:12
132
原创 javaEE学习总结(一)进程调度
一、什么是进程如果说程序是一个静态的可执行文件,那么进程就是程序运行后,动态的部分。进程是系统分配资源的最小单位。二、进程的管理进程由操作系统来管理。具体管理的办法:首先会创建一个进程的Pcb结构体(用于描述进程信息),pcb里面的包括:Pid(标识进程的身份);状态:运行,阻塞等状态;内存指针:进程的内存地址;资源清单:io设备,硬盘文件;调度信息;上下文三、系统的调度调度中使用的算法:时间片轮转调度算法(一个CPU以时间片轮转调度的方式,依次执行多个进程)抢占式调度:
2022-04-25 11:40:49
271
原创 JavaSE学习总结(十一)异常
一、异常的结构如图,Throwable是异常的顶层类,派生出Error和Exception.Error:是jvm无法解决的严重问题,如:jvm内部错误,资源耗尽(StackOverflowError、OutOfMemoryError)Exception:可以通过代码修改处理的异常。二、异常的分类三、异常的处理5个重要的关键字:throw、try、catch、final、throws.抛出异常throw new XXXException("异常产生的原因");注意:throw
2022-04-06 10:12:23
193
原创 JavaSE学习总结(十)String类2
字符串的替换 String s1=new String("hello world!"); System.out.println(s1.replace("l","k"));//替换6. 字符串拆分 String s1=new String("hello world!"); String []ret=s1.split(" ");//全部按照空格拆分 for (String str:ret) { System.out.println(str.
2022-03-30 21:30:17
297
原创 JavaSE学习总结(十)String类1
一、字符串构造一个字符串有三种:(1)使用常量构造String s1="hello ";(2)new String对象String s2 =new String("hello "); (3)使用字符数组构造char arr={'h','e','l','l','o'};String s3=new String(arr);String对象的比较注意:String是引用类型,内部存储的不是字符本身。比较时,比较的是引用的地址。(1) “==”:比较的是是否引用了同一个对象。
2022-03-29 21:58:41
106
原创 JavaSE学习总结(九)抽象类与接口
一、抽象类什么是抽象类包含抽象方法的类就是抽象类。用abstract修饰。也可以有普通方法和属性,甚至构造方法。什么是抽象方法没有实际工作的方法就可以被设计为一个抽象方法,不用写出具体的函数体。也用abstract修饰。//抽象类public abstract class Person{//抽象方法 abstract public void talk(); abstract void eat(); public double getMoney(){ return money;
2022-03-28 21:01:24
366
原创 JavaSE学习总结(七)类与对象
一、面向对象什么是面向对象简单来说:就是依靠对象之间的交互完成一件事。面向对象与面向过程首先,两者都是解决问题的方法。面向过程(POP):注重的是对过程的把控,分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象(OOP):通过对象之间的交互来完成。把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。二、类类的介绍类是用来对一个实体对象进行描述的。类的定义cla
2022-03-18 21:11:30
317
原创 JavaSE学习总结(六)数组与引用类型
一、基本概念1.数组数组:相同类型元素的集合,在内存中是一段连续的空间。2.创建一个数组T[ ] 数组名=new T[N];3.初始化一个数组动态初始化直接指定元素个数:int [ ] arr=new int[10];静态初始化在创建数组时不指定数组元素个数,而直接把内容指定int[ ] arr=new int[ ]{1,2,3,4,5};需要注意的是:·静态初始化虽然没有指定元素个数,但是编译器会根据{ }里的东西确定长度;·静态初始化可以省略new T[ ]如
2022-03-14 17:45:47
1291
原创 Iterable、Collection和List
一、介绍Iterable、Collection和List都是Java里的接口Iterable 接口是 Java 集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素Collection:public interface Collection<E>extends Iterable<E>{}Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作:添加、删除、清空、遍历(读取)、是否为空、获取大小、是否保护某元素等等List:继承自
2022-03-10 21:21:53
568
原创 javaSE学习总结(五)方法
一、方法的概念及使用1.一个方法的定义修饰符 返回值类型 方法名(参数){方法体代码;return 返回值}需要注意的事项:方法名:小驼峰在java中,方法必须写在类内;方法不能嵌套定义;没有方法申明的说法;没有返回值的方法必须写成void。2.实参与形参实参的值永远都是拷贝到形参中,形参和实参本质是两个实体,占不同的内存二、方法重载概念:在Java中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了。需要注意的是:方法名必须相同参数列表必须不同
2022-03-09 17:51:40
126
原创 javaSE学习总结(四)逻辑控制
一、基本逻辑控制结构分支结构if-elseswitch-caseswitch(表达式){ case 常量值1:{ 语句1; break; } ...}一旦匹配到就执行该项下的语句,直到遇到break结束;当没有匹配到时执行default,匹配到就不执行default;switch的括号里只能是:byte、char、short、int、String常量串、枚举类型二、循环结构while循环for循环do while循环do while循环最后有封号:do{
2022-03-08 21:31:22
71
原创 JavaSE学习总结(三)运算符
一、算数运算符基本运算符:+、-、*、/、%增量运算符:+=、-=、*=、%=自增、自减:++、- -只有变量才能使用运算符,常量不能使用运算符二、关系运算符==、!=、<、>、>=、<=(结果是true或是false)三、逻辑运算符&&、||、!短路求值:右侧的表达式无需计算的情况四、位运算符&、|、~、^(按二进制位运算)~是一元运算符,其他都是二元运算符^:异或:二进制位相同为0,不同为1五、移位运算
2022-03-08 20:28:46
125
原创 JavaSE学习总结(二)数据类型与变量
一、JAVA中的数据类型java中的数据类型有两类:基本数据类型、引用数据类型1.基本数据类型四类:整型、浮点型、字符型、布尔型八种:字节型(byte)、短整形(short)、整型(int)、长整形(long)、单精度浮点型(float)、双精度浮点型(double)、字符型(char)、布尔型(boolean)整型和浮点型都是有符号的整型默认为int,浮点型默认为double2.引用数据类型字符串就是一种引用数据类型二、变量1.整型变量(int)需要注意的内容:占4个
2022-03-07 17:43:02
288
原创 JavaSE学习总结(一)
一、一个Java程序的运行首先通过javac编译程序把源文件进行编译,编译后生成.class文件,.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。二、JDK、JRE、JVM之间的关系JDK:JAVA开发工具包,包含了JRE,同时包含了编译器javac与自带的调试工具Jconsole、jstack等。JRE:JAVA运行环境,包含了JVM,java基础类库。JVM:java虚拟机运行Jav
2022-03-07 16:15:18
7417
原创 JAVA:运行出错与编译出错
JAVA:运行出错与编译出错总结就是:编译错误通常指语法错误或者很明显的逻辑错误, 如 : 缺乏分号, 少写括号, 关键字书写错误等…运行错误是在没有编译错误的基础上运行后产生的逻辑错误, 如 : 空指针异常, 除数为0 , 越界访问等原链接...
2022-02-24 11:56:50
455
原创 WIN10家庭版+ANSYS/AUTODYN安装学习
WIN10家庭版+ANSYS2020R2/AUTODYN安装学习(一)1.安装选了一个教程,下载了镜像文件,一步一步安装下来出奇的顺利,没有什么坑,就是安装到最后一步卡到99%了,结果等了大概20分钟就好了,经过破解、汉化顺利进入ANSYS Workbench界面!...
2022-01-24 10:41:07
5542
原创 win7+Python3.7安装scrapy库
第一次尝试pip install scrapy直接报红了一大堆,不是主流的Command那个错误,而是read out time什么什么的,做了以下尝试,最终安装成功。1.首先在https://www.lfd.uci.edu/~gohlke/pythonlibs/下载了5个依赖,下载对应版本的呦,放到python37的scripts文件下2.进入cmd界面并切换到python的script...
2020-02-12 22:27:03
264
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人