- 博客(39)
- 收藏
- 关注
原创 7. JavaWeb
在浏览器上输入地址 ,web服务器软件接收请求,然后响应消息。处理客户端的请求, 返回资源(信息)Web应用 需要服务器支撑IIS 微软bin 可执行程序conf 配置文件lib 服务器的 jar 包logs 日记信息temp 临时数据webapps 专门用来存放部署的 Web 工程。work 作时的目录, 用来存放 jsp 翻译为 Servlet的源码和 Session 钝化的目录。
2023-10-10 14:06:35
118
原创 5. JavaScript
JavaScript 是脚本语言,是一种解释性脚本语言(代码不进行预编译)JavaScript 是一种轻量级的编程语言。JavaScript 是可插入 HTML 页面的编程代码。JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。(一)函数创建的两种方式://调用函数f1()2. var f3 = function () {//匿名函数3. (function () {//封闭函数:格式为 (function(){...})();return 'f1执行'
2023-09-09 16:47:26
185
原创 4. CSS
CSS 的浮动会使元素向左或向右移动,并使周围的元素重新排列。浮动往往是用于图像,但它在布局时一样非常有用。当浮动的元素向左或向右移动直到外边碰到包含框或另一个浮动框的边框为止。浮动元素之后的元素将围绕它。浮动元素之前的元素将不会受到影响。关于彼此相邻的元素如果你把几个浮动的元素放到一起,如果有空间的话,它们将彼此相邻。
2023-09-09 16:45:53
379
原创 3. HTML
行内元素的水平方向的padding会有边距效果,但是竖直方向的padding没有效果。.html和.htm两种都可以,没有区别。授课中都是.html后缀名,个人习惯不同而已。标签的内部是可以定义属性的,属性由键值对组成,值需要用双引号引起来,多个属性用空格隔开。标记语言是由标签构成的语言。<标签名称>例如html,xml;HTML中的标签有很多,我们只讲解比较常用的标签。如京东的个人页面,点击左侧时候,只有右边页面发生变化。,它是一种用于创建网页的标准标记语言。标签可以嵌套,但是嵌套的语法要正确。
2023-09-09 16:43:18
281
原创 2. JDBC
把数据保存到可掉式存储设备中以供之后使用持久化是实现过程大多数通过各种关系数据库来完成包括从关系数据库中读取数据和写入到数据库中它是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作公共接口向数据库服务器发送命令,并接收数据库的结果。因此该连接是一个Socket连接。在 java.sql 包中有 3 个接口分别定义了对数据库的调用的不同方式Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。:SQL 语句被预编译并存储在此对象中,可以。
2023-09-09 16:39:24
394
原创 1. mysql
数据库是长期保存在计算机存储设备上,按照一定规则组织起来,可以被各种用户和应用共享的数据集合。数据库:存储、维护和管理数据的集合。总结使用频率较低,了解即可在SQL中我们可以使用函数对检索出来的数据进行函数操作函数可分成内置函数和 自定义函数;内置函数可分为 单行函数 、聚合函数(或分组函数)单行函数可分为 字符串函数、日期和时间函数、数值函数、流程控制函数、加密与解密函数、MySQL信息函数聚合函数:聚合函数作用于一组数据,并对一组数据返回一个值。
2023-09-09 16:18:46
43
原创 (二十六)java 函数式接口、StreamAPI
只包含一个抽象方法的接口称为函数式接口可以在此接口上使用注解说明此接口为一个函数式接口可以通过lambda表达式来创建该接口对象。lambda表达式是对象,不是函数,他必须依附于函数式接口只要一个对象是函数式接口的实例,那么该对象就可以使用Lambda表达式来表示集合讲的是数据, Stream讲的是计算!stream不会自己存储数据Stream不会改变源对象,相反,他们会返回新的StreamStream操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。
2023-08-21 20:33:17
86
原创 (二十三)java 反射、JDK新特性
加载完类之后, 在堆内存的方法区中就产生了一个Class类型的对象( 一个类只有一个Class对象) , 这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子, 透过这个镜子看到类的结构, 所以, 我们形象的称之为: 反射。
2023-08-16 20:14:28
94
原创 (二十二)java URL、TCP/IP协议、面试题
其值所表示的并不是字节数,⽽是头部的所含有的32bit的数⽬(或者倍数),或者4个字节的倍数,所以TCP头部最多可以有60(4*15=60)。TCP传输过程中,在发送端出的字节流中,传输报⽂中的数据部分的每⼀个字节都有它的编号。TCP协议是基于IP协议的基础上传输的, TCP报⽂中的源端⼝号+源IP,与TCP报⽂中的⽬的端⼝号+⽬的IP⼀起,组合起来唯⼀性的确定⼀条TCP连接。控制位,确认序号的值表示⼀个准备接收的包的序列码,注意,它所指向的是准备接收的包,也就是下⼀个期望接收的包的序列码。
2023-08-15 20:14:10
74
原创 (二十一)java数组流、对象流、Tcp和Udp、Socket
ObjectInputStream和OjbectOutputSteam:它的强大之处就是可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来。序列化: 用类保存基本类型数据或对象的机制反序列化: 用类读取基本类型数据或对象的机制ObjectOutputStream和ObjectInputStream不能序列化static和transient修饰的成员变量网络通讯协议:即一定的规则(有两套参考模型)○ OSI参考模型:模型过于理想化,未能在因特网上进行广泛推广。
2023-08-14 20:05:39
85
原创 (二十)java File类
由字节流组成的文件不可直接阅读,例如图像、音频、视频、压缩文件等。:它包含的是可读的文本,例如纯文本文档、代码文件、配置文件等。输出Output:将程序数据输出到磁盘,光盘等设备中。输入Input:读取外部数据到程序。
2023-08-11 20:09:54
56
原创 (十九)java Properties、泛型
在类声明时使用泛型约束这个类public class 类名 {}return t1;return t2;gen.getT();
2023-08-10 19:54:11
54
原创 (十八)java Map接口
Map 集合是以 Key-Value 键值对作为存储元素实现的哈希结构, Key是不可重复的, Value 则是可以重复的。Map 类提供三种 Collection 视图,在集合框架图中, Map 指向 Collection 的箭头仅表示两个类之间的依赖关系。可以使用keySet()查看所有的 Key,使用values()查看所有的 Value ,使用entrySet()查看所有的键值对。HashMap线程是不安全的。ConcurrentHashMap 是线程安全的。
2023-08-09 20:05:20
149
原创 (十七)java集合中的Vector、Set
方法来得到该对象的 hashCode 值, 然后根据 hashCode 值, 通过某种散列函数决定该对象在 HashSet 底层数组中的存储位置。如果两个元素的hashCode()值相等, 则会调用。ArrayList底层是什么?如果两个元素的 equals() 方法返回 true,但它们的 hashCode() 返回值不相等, hashSet 将会把它们存储在不同的位置,但依然可以添加成功。:返回左子树的元素,如果没有这样的元素,则 null。:返回右子树的元素,如果没有这样的元素,则 null。
2023-08-08 20:31:53
131
原创 (十六)Java注解、集合
数组的弊端数组的大小不能改变数组不便于进行添加、删除、插入等操作, 且效率不高。无法直接获取元素的个数数组中的元素是有序的、可以重复的。存储数据的特点单一。
2023-08-07 20:48:25
120
原创 (十四)java正则表达式、枚举
应用场景:类的对象只有有限个,确定的。枚举可以看成一个类星期性别季节支付方式就职状态订单状态线程状态:新建 就绪 运行 阻塞 死亡values()返回枚举对象类的数组,可很方便地遍历所有枚举值可以把一个字符串转为对应发枚举类对象,要求字符串必须是枚举类对象的名字。toString()返回当前枚举类对象常量的名称i ++) {
2023-08-03 19:44:48
168
原创 (十三)java String和Date、Calendar
简介String类:代表字符串,Java程序中的所有字符串字面值(如”abc“)都作为此类的实例实现String是一个final类,代表不可变的字符序列字符串是常量,用双引号引起来表示,它们的值在创建之后不能更改String对象的字符内容是存放在一个字符数组value[]中的产生字符串的方式//本质上this.value = new char[0];当append和insert时,如果原来value数组长度不够,可扩容如上这些方法支持方法链操作方法链原理。
2023-08-03 08:43:47
295
原创 (十二)线程池的创建、调度流程、拒绝策略和状态
(5)在核心线程都用完、阻塞队列已满的情况下,一直会创建新线程去执行新任务,直到池内的线程总数超出 maximumPoolSize。如果线程池的线程总数超时 maximumPoolSize,则线程池会拒绝接收任务,当新任务过来时,会为新任务。(4)在核心线程池数量已经用完、阻塞队列也已经满的场景下,如果线程池接收到新的任务,将会为新任务创建一个线程(非核心线程),并且立即开始执行新任务。实例用于暂时接收到的异步任务,如果线程池的核心线程都在忙,则所接收到的目标任务,缓存在阻塞队列中。
2023-08-01 20:26:54
116
原创 (十一)java线程通讯、JUC显示锁、生产和消费
Semaphore是一个许可管理器,可以用来控制在同一时刻访问共享资源的线程数量,Semaphore维护了一组虚拟许可,其数量可以通过构造函数的参数指定,线程在访问共享资源前,必须使用Semaphore的acquire方法获取许可,如果许可数量为0,该线程则一直阻塞,线程访问完成资源后,必须使用Semaphore的release方法去释放许可。在Java中,线程通信是指多个线程之间通过特定的机制来实现信息的传递和协调工作的过程。一把是写锁,是一种独占锁。读写锁的内部包含了两把锁:一把是。
2023-08-01 14:39:41
78
原创 (十)java共享数据、内置锁、死锁
临界区代码段是每个线程中访问临界资源的那段代码,多个线程必须互斥地对临界区资源进行访问。线程进入临界区代码段之前,必须在进入区申请资源,申请成功之后进行临界区代码段,执行完成之后释放资源。Synchronized嵌套使用时,比如张三在A电话亭想去B电话亭,李四在B电话亭想去A电话亭,这时会发生死锁。a线程锁定一个资源,同时想获取b线程的资源,b线程锁定一个资源,同时想获取a线程的资源。相当于synchronized(class),临界区代码块中,多个线程共享访问的。比如对汽车的保养过程。
2023-07-28 20:46:21
56
原创 (九)java多线程退出、线程状态
操作系统的线程一个时间片的时间长度为 20 毫秒(比如 Windows XP),在一个 2GHz 的 CPU 上,那么一个时间片可以进行计算的次数是: 20 亿/(1000/20) =4 千万次,也就是说,一个时间片内的计算量是非常巨大的。由于 CPU 的计算频率非常高,每秒计算数十亿次,于是,可以将 CPU 的时间从毫秒的维度进行分段,每一小段叫做一个 CPU 时间片。进入者三个状态的线程都会让出CPU的使用权,另外,等待或阻塞状态被唤醒后,进入Ready状态,需要重新获取时间片才能接着运行。
2023-07-27 19:25:02
158
原创 (八)java异常处理、多线程
程序执行过程中,产生问题,因为异常的问题程序的正常的逻辑中断异常最顶层的类Throwable,异常可分为两类Error: Java虚拟机无法解决的严重问题。JVM系统内部错误、 资源耗尽等严重情况。:栈深度溢出异常,比如递归方法,没有退出条件:OOM内存溢出异常,栈、堆、方法区都会发生异常,但程序计数器不会发生。Exception:因编程错误或偶然的外在因素导致的一般性问题。RuntimeException:运行期异常,编译是不需要处理。
2023-07-26 21:09:10
87
原创 (七)java面向对象面试题
直接内存位于本地内存,不属于JVM内存,不受GC管理,但是也会在物理内存耗尽的时候报OOM。jdk1.4中加入了NIO(New Input/Putput)类,引入了一种基于通道(channel)与缓冲区(buffer)的新IO方式,它可以使用native函数直接分配堆外内存,然后通过存储在java堆中的DirectByteBuffer对象作为这块内存的引用进行操作,这样可以在一些场景下大大提高IO性能,避免了在java堆和native堆来回复制数据。会,加载到内存中的 class 数量太多或者体积太大。
2023-07-25 20:27:08
55
原创 (六)java的static、final、单例模式、接口和匿名内部类
单例模式:要求程序中某一组件,在程序运行的整个生命周期中,存在线程安全问题,没有静态初始化。将一个类放在另一个类的。,这个类就叫做内部类。
2023-07-24 19:57:40
146
原创 (五)java继承、重写、多态、装箱拆箱
Object类是所有Java类的根父类 如果在类的声明中未使用extends关键字指明其父类, 则默认父类为java.lang.Object类。
2023-07-23 18:31:55
47
原创 (四)java面向对象基础
面向过程:强调的是功能行为,以函数为最小单位面向对象:面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。面向对象的三大特征封装(Encapsulation)继承(Inheritance)多态(Polymorphism)将大象装到冰箱里面向对象和面向过程步骤如下。
2023-07-20 21:16:01
30
原创 (三)java二维数组、数组中常用的算法、调试
其实,从数组底层的运行机制来看,其实没有多维数组。计算3个班级所有学生的平均分。对于二维数组的理解,我们。
2023-07-19 19:22:45
206
原创 (二)java循环、一维数组
(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。从键盘读入学生成绩,找出最高分,并输出学生成绩等级。取出数组中的值:数组名称【下标索引】:在内存开辟一块空间。
2023-07-18 18:28:25
62
原创 (一)java变量、数据类型、运算符、流程控制
变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。简单理解就是内存中一块空间的表示。由于该存储单元中的数据可以发生改变,因此得名为"变量"。
2023-07-17 20:06:20
40
原创 Maven的安装和使用
本地仓库相当于一个缓存,在电脑上是一个文件夹,我们可以设置这个文件夹的路径,工程第一次需要某种jar包时,会从远程仓库(互联网)下载并保存到本地仓库中(在程序员的电脑上),当第二次使用时,不需要去远程仓库下载,会先去本地仓库中找,如果找不到才会去远程仓库上下载。中央仓库中的jar包由专业团队(Maven团队)维护,中央仓库中存放了全世界大多数流行的开源软件的jar包,是Maven默认的远程仓库。默认情况下,每个用户在自己的用户目录下都有一个路径名为 .m2/respository/ 的仓库目录。
2023-07-14 20:39:18
282
原创 Git内容补充
在软件开发中,bug就像是家常便饭,有bug就需要修复,在git中分支如此强大,所以,每一个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后临时分支删除掉。当你接到一个修复一个代号101的bug任务时,很自然,你想创建一个分支issue-101来修复它,但时,我们现在手头的工作还没有提交,但你不想提交,那就需要如下操作。1.fast forward模式通常合并分支,如果可能,Git会用fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果标签打错了,也可以删除。
2023-07-13 20:25:00
140
1
原创 Git的远程仓库使用(部分)
git checkout -- readme.txt 撤销工作区的修改- git checkout master 切换master 分支- git checkout -b dev 创建dev 并指向dev git branch- git branch 查看分支和当前分支- git branch dev 创建dev分支。
2023-07-12 20:38:08
54
1
原创 Git的安装与本地使用
Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时,都十分高效。举个栗子,假设你想用Word写了一篇毕业论文,很长,而且在你的论文达到最低查重率之前,你肯定要经过若干次的修改,最终才会提交。然而这期间你经历的每次修改,增加一段段落,或者删除一段落,但是你都不想直接将整篇论文保存修改,因为你怕哪天你会找不回你删除的是哪些段落,何时删除的?所以只好每次在修改的时候将论文都“另存为。。。”一个新的文档,再接着改,改到一定程度,再“另存为。。。”,最后你的桌面会变成这样。
2023-07-12 14:00:25
808
1
原创 Linux环境下(权限命令 +JDK + Tomcat +MySQL)
拷贝mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz到/root目录下。chmod修改文件权限命令(change mode)2.将虚拟机中的jdk压缩包移动到java目录下。1.一般程序安装的目录 /usr/local。编写Helloworld.java。给改变文件所属用户,文件所属组。上下载linux版本的jdk,蓝框里的是临时密码,如图所示。结果如下:完成mysql配置。与虚拟机上的数据库建立连接。3.解压文件并删除压缩包。
2023-07-10 20:14:26
516
1
原创 Linux命令(系统、压缩、vim、用户管理命令)
linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。添加一个jack用户,设置它属于users组,并添加注释信息。显示当前系统中耗费资源最多的进程(实时)显示指定的文件或目录已使用的磁盘空间。将jack添加到sys和root组中。显示网络状态信息,查看端口占用情况。显示当前内存和交换空间的使用情况。显示瞬间的进程状态(快照)jack添加到sale组。修改hr为sale组。
2023-07-07 20:44:14
43
原创 Box与虚拟机的关系+Linux的指令(部分)
如果要拷贝的文件下还有文件,那么命令可将整个文件全部拷贝过去。在虚拟机中安装tree。:刷新显示最新的日志。-c 显示匹配的次数。
2023-07-06 20:39:07
139
原创 制作并使用box和部分Linux的命令
Vagrantfile所在目录,默认挂载到虚拟机/vagrant。Linux详细的package命令文档参考。远程进入,输入密码,启动。我们也可以自定义挂件目录。也可以下载其他的工具。
2023-07-05 19:04:39
94
原创 Linux的安装和vagrant使用
Linux是一个操作系统,同时是一个自由软件,是免费的、源代码开放的,编制它的目的是建立不受任何商品化软件版权制约的、全世界都能自由使用的Unix兼容产品。虚拟机是一类能够通过软件模拟其他系统行为,做到虚拟化、跨平台等目的的一类的软件。市面上有很多虚拟机产品,如VMware虚拟机、Java虚拟机,它们都有很好的虚拟化能力,我们可以在软件内运行其他操作系统。1.Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用。
2023-07-04 21:04:55
446
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人