- 博客(45)
- 收藏
- 关注
原创 SSM框架 --- Spring AOP
代理设计模式;Spring AOP相关概念(连接点,切入点,切面,通知等),配置文件方式实现AOP,注解方式实现AOP
2022-02-07 14:31:28
743
原创 SSM框架 --- Spring IoC
框架的概念;Spring框架的介绍;Spring IoC实现软件分层中“低耦合”目标;Spring IoC & DI的配置文件方式实现及注解方式实现
2022-02-03 17:05:48
798
原创 javaWeb学习笔记 --- 事务
事务事务的概念事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功。例如:A——B转帐,对应于如下两条sql语句update account set money=money-100 where name='a';update account set money=money+100 where name='b';在这个例子中,我们要保证这两条sql要么一起成功,要么一起失败,不允许一部分成功一部分失败,这就要靠数据库的事务来实现了。管理事务数据库默认的事务数据库默认
2022-01-14 17:46:02
577
原创 MVC软件分层
软件分层MVC设计思想Model-View-Controller,软件编程的通用的设计思想。MVC设计思想认为,任何软件都可以分为:负责程序控制的控制器、负责封装数据处理数据的模型、负责展示数据的视图来组成的。MVC设计思想要求一个符合MVC设计思想的软件,应该尽量的让这三者互相独立,互不干扰,每个模块只做自己该做的事情,一个模块的变化不应该影响其他模块。好处是软件的结构更加的清晰,便于开发维护,模块可以实现复用JavaEE的经典三层架构web层 (表示层):Servlet + jsp
2022-01-14 17:41:57
353
原创 javaWeb学习笔记 --- JSP
JSPjsp概述由SUN公司提供的动态web资源的开发技术,看起来非常像html,但是可以在JSP页面中写java代码,所以JSP是一种动态web资源开发技术JSP技术的由来JSP的出现是为了解决Servlet在响应时不适合向外输出页面的问题Servlet本质上是一段java代码,非常适合处理逻辑,但是不合适向外输出页面,如response.getWriter().write("<font color='red'>用户名已存在</font>");HTML适合用来开发
2022-01-14 17:33:08
268
原创 javaWeb学习笔记 --- AJAX
AJAXAJAX介绍AJAX (asynchronous js and xml): 异步的js和xml可以利用js访问服务器,而且是异步访问通常服务器给浏览器响应的是一个完整的页面,而在AJAX中,由于是利用js访问服务器,再由js接受响应,局部刷新页面,所以服务器不用给浏览器响应整个页面了,而只是数据。服务器响应的数据:text: 纯文本xmljson: js提供的一种数据交互格式同步:向服务器发一个请求,必须等待响应结束,才能发送第二个请求,在服务器处理期间,浏
2022-01-14 17:22:34
269
原创 javaWeb学习笔记 --- Servlet
Servletservlet概述servlet是什么Servlet是sun公司提供的一门用于开发动态web资源的技术按照这套规范写出来的Servlet可以放置到web应用中,在Servlet容器中运行开发Servlet步骤写一个类,实现Servlet接口,并实现其中的方法在web.xml中为servlet配置对外访问路径 (Idea中可直接通过注解实现)开发servlet创建一个web的project更改默认浏览器、端口号和URL创建一个Servlet// 注
2022-01-14 17:09:08
287
原创 javaWeb学习笔记 --- tomcat
tomcat服务器动态web资源(如:PHP, JSP, Servlet)运行需要服务器环境客户端发送请求到服务器,服务器调用动态web资源Servlet容器、web容器、服务器 (接收请求并且响应)Servlet容器java中的动态资源开发技术为Servlet/JSP,但是Servlet、JSP本身不能直接运行,需要运行他们的环境,这样的环境就叫做Servlet容器。web容器能够运行web应用的环境叫做web容器。Servlet容器就是web容器,但是web容器不一定是Servl
2022-01-05 21:41:40
160
原创 javaWeb学习笔记 --- HTTP协议
HTTP协议什么是HTTP协议?HTTP是hypertext transfer protocol (超文本传输协议)的简写,用来规定浏览器客户端和服务器之间进行通信的方式三个基本原则基于请求响应模型一次请求对应一次响应请求只能由客户端发出,服务器只能被动的等待请求,做出响应.HTTP协议详解http请求HTTP请求信息由3部分组成:请求行:包含请求方式 (如:Get or Post)、请求的资源 (如:URL)、所遵循的协议(如:HTTP/1.1)请求头:http中的请
2022-01-05 21:37:56
406
原创 javaWeb学习笔记 --- JDBC
JDBCJDBC概述服务器和数据库连接的桥梁数据库驱动:数据库厂商提供的用来操作数据库的jar包JDBC简介由于各大数据库厂商提供的数据库驱动各不相同, 导致了开发人员的学习成本十分的高,SUN公司为了简化数据库的操作, 提供了一套规范,本质上就是一大堆的接口,要求各大数据库厂商在提供驱动时都要实现JDBC这套接口,实现之后,只要学会JDBC这套接口,所有的数据库驱动就都会使用了JDBC由两个包组成, 分别是java.sql和javax.sql, 目前已经被集成到javase规范
2022-01-05 21:33:32
149
原创 javaWeb学习笔记 --- jQuery
jQueryjQuery概述什么是jQueryjQuery 是一个"写的更少,但做的更多"的轻量级 JavaScript 函数库。jQuery的优势可以简化JavaScript代码可以像css那样获取元素可以修改css来控制页面效果可以兼容常用的浏览器jQuery版本支持jQuery分为很多版本,还分为未压缩版和压缩版,根据需要选择对应的版本进行下载1.x 支持常用的浏览器和IE6+2.x 支持常用的浏览器和IE9+3.x 支持常用的浏览器和IE9+
2021-12-24 21:03:11
545
原创 javaWeb学习笔记 --- CSS
CSScss概述css:层叠样式表,可以用来美化html页面,就比如html是盖房子,而css则是装修。可以实现展示数据的html代码和设置样式的CSS代码的分离,增强了网页的显示能力在html页面中引入css样式的方式通过标签上的style属性引入css样式大多数标签都可以具有style属性, 可以通过style属性为当前标签设置样式这种方式设置样式不推荐大量使用, 会造成页面结构的混乱, 不利于后期的维护及扩展<div style= "border: 2px solid re
2021-12-19 21:27:31
126
原创 javaWeb学习笔记 --- Html
HTMLhtml是超文本标记语言,它规定了自己的语法规则,用来表示比“文本”更丰富的意义,比如图片、表格、链接等。目前互联网上的绝大部分网页都是使用HTML编写的。html的结构<!DOCTYPE HTML><!--文档声明--><html><!--标签、元素、标记--><!--有开始和结束标签,必须结束--><head> <!--如果标签中没有标签体,可以自闭--> <!--标签中可以有一个或者
2021-12-16 21:38:36
308
原创 java基础(十四):网络编程
网络编程 (套接字)网络编程概述:网络编程即使用套接字来达到进程间通信基本概念网络的七层模型 (OSI):物理层、数据链路层、网络层、传输层 (UDP、TCP)、会话层、表示层、应用层 (http\https\ftp)IP地址:唯一标识网络中的通信实体、IPV4:32位二进制组成;分成4组,每一组的范围0-255之间,每组之间通过.来分隔;例如:192.168.12.22IPV6:128位二进制组成;分成了8组,每一组16位,十六进制;每一组由4个十六进制数字组成;每组之间通过:来分隔;IP
2021-12-13 19:29:16
310
原创 java基础(十二):IO流
java IO流内容,包括:字节输入流 :InputStream,字节输出流 :OutputStream,字符输入流 :Reader ,字符输出流 :Writer 及其子类
2021-12-08 16:09:38
190
原创 java基础(七):异常
异常程序运行出现了不正常的情况Java中提供的用于对程序出现的问题做反馈处理的机制Throwable包:java.lang类定义:public class ThrowableThrowable 类是 Java 语言中所有错误或异常的超类子类:Error:严重问题,非人力可以解决,例如:栈内存溢出异常(java.lang.StackOverflowError)注意:Error一般不进行处理,确保程序逻辑没有问题即可JVM默认处理的方式:以红色字体打印
2021-11-29 10:15:33
67
原创 java基础(六):String类
StringString类是最终类,没有子类java中所有的字符串直接量都是String类的对象String类底层是由一个无法改变的字符数组(在jdk11中,换成了byte[])来实现数据存储如果常量池中已经存在引用,后面的对象和前面的对象内容一致,前后共用一个常量池的引用—共享public class StringDemo1 { public static void main(String[] args) { // str1指向方法区的常量池
2021-11-23 10:57:26
489
原创 java基础(五):Object类
ObjectObject是所有类的顶级父类,所有类都默认继承Object类重要方法protected Object clone() — 把原对象的所有属性值复制到新对象中,返回新对象类实现Cloneable接口创建的对象才能支持克隆public class ObjectDemo1 implements Cloneable { int i = 1; public static void main(String[] args) throws CloneNotSupportedE
2021-11-23 10:51:34
63
原创 java基础(四):java面向对象OOP (2)
接口如果抽象类中的方法都是抽象方法可以把抽象类转成接口来表示(interface)通过implements让类与接口之间产生实现的关系,支持多实现。接口与接口之间通过extends产生了继承关系,支持多继承。注意:类实现接口需要重写所有的抽象方法,但是如果不想都重写,可以把类变成抽象类接口里都是抽象方法接口不能定义构造方法,因此也不能创建对象接口可以定义属性,属性是被public final static共同修饰抽象方法默认被public abstract共同修饰
2021-11-23 10:46:24
304
原创 java基础(三):java面向对象OOP
java面向对象OOP基本概念面向过程与面向对象面向过程:关注代码实现的细节、复用性面向对象:先把每个过程的代码实现细节整合到对象中,只要找到对象就能拥有对象身上所有的功能。面向对象基于面向过程类与对象对一类对象进行抽取,对共有的特征抽取成属性,共有的行为抽取成方法,这一类对象抽取成类。 — 类就是对象的概括,对象是类的具体实现在java中所有非静态的属性和方法都要通过对象调用万物皆对象构造方法与类同名,没有返回值类型如果类中没有定义任何形式的构造方法,JVM会在
2021-11-16 11:57:20
385
原创 java 基础 (二):数组 + 方法小结
数组可以存储多个相同数据类型的容器定义格式// 1.数据类型[] 数组名 = new 数据类型[元素个数/数组长度];//int[] arr = new int[2];int[] arr1; // 声明arr1 = new int[2]; // 初始化, 系统默认初始值为0arr1[1] = 10; // 对数组元素做操作 System.out.println(arr1); //[I@16b98e56/*[I@16b98e56 ----- 代表内存地址值[ -----
2021-11-12 19:38:53
440
原创 排序算法的java实现
排序算法的java实现直接插入排序public static void insertSort(int arr[]){ int tmp, i, j; for (i = 1; i < arr.length; i++){ tmp = arr[i]; j = i - 1; while (j >= 0 && tmp < arr[j]){ arr[j+1] = arr[j];
2021-11-11 21:39:36
573
原创 java 基础 (一)
java 基础 (一)java 语言的特点面向互联网编程、安全可靠、面向对象跨平台(操作系统) — JVM(java虚拟机): 事先在对应的操作系统上安装对应版本的JVM(提供完备的运行环境),java 程序是在JVM中进行执行,使得不同的操作系统只要是同一java程序的得到的结果是一样的。java 语言的三大技术架构J2se(基础版/标准版):主要是用于提供小型开发以及桌面服务解决方案J2ee(企业版/商务版):主要是提供了企业中模块化开发、集中式开发解决方案J2me(小型版
2021-11-08 17:31:25
228
原创 动态规划(一)
动态规划动态规划题目特点计数有多少种方式走到右下角有多少种方法选出k个数使得和是sum求最大值最小值从左上角走到右下角路径的最大数字和最长上升子序列长度求存在性取石子游戏,先手是否必胜能不能选出k个数使得和是sum动态规划组成部分:确定状态 f[x]:解动态规划的时候需要开一个数组,数组的每个f[i]或f[i][j]代表什么最后一步子问题转移方程:根据子问题写出转移方程初始条件和边界情况初始条件:用转移方程算不出来的,需要手工定义边
2021-10-29 17:58:32
1424
原创 云计算学习 - 谷歌云
谷歌云概述分布式文件系统GFS (文件系统)Client (客户端),Master (主服务器), Chunk Server(数据块服务器)Client:提供给应用程序的访问接口Master:GFS的管理节点,在逻辑上只有一个,保存系统的元数据,负责整个文件系统的管理,是GFS文件系统中的“大脑”Chunk Server:负责具体的存储工作,Chunk Server的个数决定了GFS的规模。GFS将文件按照固定的大小进行分块,默认64KB,每一块称为一个Chunk,每一个Chunk都有一个对应的
2021-10-28 21:53:36
613
原创 云计算学习 - 基本概念
大数据4V+1C特征:数据量大(Volume), 多样(Variety), 快速(Velocity), 价值密度低(Value), 复杂度(Complexity)云计算是处理大数据的手段云计算是一种商业计算模型,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。云计算的特点:超大规模、虚拟化、高可靠性、高伸缩性、按需服务、极其廉价云计算按照服务类型大致可以分为三类:IaaS 将基础设施作为服务,PaaS 将平台作为服务、SaaS..
2021-10-28 21:47:59
942
原创 网络爬虫基础-异步爬虫
异步爬虫目的:在爬虫中使用异步实现高性能数据爬取异步爬虫的方式:多线程/多进程(不建议)优点:可以为相关阻塞的操作,单独开启线程或进程,阻塞操作可以异步执行。弊端:无法无限制地开启多线程或者多进程:在遇到要同时处理成百上千个的连接请求时,则无论多线程还是多进程都会严重占据系统资源,降低系统对外界响应效率,而且线程与进程本身也更容易进入假死状态。线程池/进程池(适量使用)优点:降低系统对进程和线程创建和销毁的一个频率,从而很好地降低系统的开销。弊端:池中线程或进程的数量是有上限的。当阻
2021-10-26 21:38:34
489
原创 协程 & asyncio & 异步
协程 & asyncio & 异步第一部分:协程第二部分:asyncio模块进行异步编程第三部分:实战案例协程协程不是计算机提供,而是由程序员人为创造。协程(coroutine)也是被称为微线程,是一种用户态的上下文切换技术,简而言之,其实就是通过一个线程实现代码模块相互切换执行。例如:def func1(): print(1) ... print(2) def func2(): print(3) ...
2021-10-26 21:36:44
104
原创 网络爬虫基础-scrapy框架
scrapy框架什么是框架就是一个集成了许多功能,并且具有很强通用性的一个项目模板,该模板可被应用在不同的项目需求中。也可被视为是一个项目的半成品。如何学习框架对于刚接触编程或者初级程序员来讲,对于一个新的框架,只需要掌握该框架的作用及其各个功能的使用和应用即可,对于框架的底层实现和原理,在逐步进阶的过程中在慢慢深入即可。什么是scrapyScrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。其内部已经被集成了各种功能(高性能异步下载,队列,分布
2021-10-26 21:32:17
508
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人