自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员小章的博客

踏踏实实一步一步学!

  • 博客(71)
  • 收藏
  • 关注

原创 Java初学者笔记 -- JavaWeb篇

JavaWeb学习笔记前端学习笔记HTML序号内容链接地址1什么是HTML链接地址2HTML基础概念链接地址3HTML常用标签链接地址CSSTODO序号内容链接地址1什么是CSS2CSS常见属性3CSS布局4美哭了的CSS样式推荐JavaScriptJavaScript基础篇序号内容链接地址1什么是JavaScript链接地址2JavaScript

2020-09-23 17:04:09 305

转载 Gitee基本使用

码云gitee代码托管继对gitee和git的简单介绍以及git安装之后,这篇博客主要介绍如何使用git命令,从而在码云上进行代码托管。首先,参考码云平台帮助文档先介绍一下git中的几个重要概念:分支、提交、拉取和推送,有助于帮助理解下面的内容。1. 分支(git branch命令)git默认分支一般是master,当然,这是可以修改的,我们在master完成一次开发,生成了一个稳定版本,那么当需要添加新功能或者做修改时,只需要新建一个分支,然后在该分支上开发,完成后合并到主分支即可,分支功能解决

2020-09-28 18:02:05 10154 3

转载 Git入门

Git入门https://www.csdn.net/gather_25/MtTaEg0sMzIzMzctYmxvZwO0O0OO0O0O.html)Git简介Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时都十分高效,而且非常的高大上。SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。而且集中式版本控制系统是必须联网才能工作。Git是分布式版本控制

2020-09-28 17:54:37 262

转载 JQuery Ajax

jQuery - AJAXjQuery load() 方法jQuery load() 方法是简单但强大的 AJAX 方法。load() 方法从服务器加载数据,并把返回的数据放入被选元素中。语法:$(selector).load(URL,data,callback);必需的 URL 参数规定您希望加载的 URL。可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。可选的 callback 参数是 load() 方法完成后所执行的函数名称。这是示例文件(“demo_test.t

2020-09-28 14:06:50 52

转载 Ajax入门

数据请求:Ajax基础Ajax 概述它是浏览器提供的一套方法,可以实现页面无刷新更新数据,提高用户浏览网站应用的体验。Ajax 的应用场景页面上拉加载更多数据列表数据无刷新分页表单项离开焦点数据验证搜索框提示文字下拉列表Ajax 运行原理及实现Ajax 运行原理Ajax 相当于浏览器发送请求与接收响应的代理人,以实现在不影响用户浏览页面的情况下,局部更新页面数据,从而提高用户体验。Ajax 的实现步骤创建 Ajax 对象 var xhr = new XMLHttpRequ

2020-09-28 13:49:30 281

转载 码云平台IDEA系列的插件使用

码云平台IDEA系列的插件使用1. 插件安装注意:码云 IDEA 插件已由 gitosc 更名为 gitee。 新版插件 gitee 菜单已经和 git 菜单合并方法一启动 idea选择 Configure - Plugins选择 Browse repositories...搜索 gitee,安装插件重启 idea 即可方法二选择 File - Settings选择 Plugins选择 Browse repositories...搜索 gitee,安装插件重启 idea

2020-09-28 12:15:35 297

转载 .gitignore是干什么的?

Git忽略文件.gitignore详解在工程中,并不是所有文件都需要保存到版本库中的,例如“target”目录及目录下的文件就可以忽略。在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件或目录。Git 忽略规则优先级在 .gitingore 文件中,每一行指定一个忽略规则,Git 检查忽略规则的时候有多个来源,它的优先级如下(由高到低):从命令行中读取可用的忽略规则当前目录定义的规则父级目录定义的规则,依次递推$GIT_DIR

2020-09-28 11:51:00 14720 2

转载 Git常用指令Api

Git常用指令Api文章目录Git常用指令Api配置用户名和邮箱配置https和ssh推送时保存用户名和密码推送到远程仓库正确流程一、新建本地仓库二、配置(全局和项目)三、增加/删除文件四、代码提交五、分支六、标签七、查看信息八、远程同步九、撤销十、其他附:Git常用命令速查表附:Git指令速查表附:资料链接有关Git的详细介绍可以参考Git简介经常使用 Git ,但是很多命令还是记不住。一般来说,日常使用只要记住下图7个命令就可以了。但要熟练掌握,恐怕要记住40~60个命令,所以整理了一份常用Git

2020-09-28 11:46:56 1051 1

转载 什么是版本控制,什么是代码托管平台

什么是版本控制如果在开发团队中没有使用版本控制,多个开发人员共同负责同一个软件或文档的开发,每个人在各自的机器上有整个软件文档的备份,并对之实施编程开发,在分别完成各自任务之后,再通过文本比对工具将各自机器上的不同版本的程序整合到一台机器上。没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事务性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。版本控制的目的是实现开发团队并行开发、提高开发效率的基础。其

2020-09-28 11:41:16 1934

原创 会话技术 Cokkie Session

Session和Cookie什么是会话跟踪技术会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。保持对用户会话期间的数据管理。常用的会话跟踪 技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份Session通过在服务器端记录信息确定用户身份。Cookie1.什么是cookieCookie是客户端(一般指浏览器)请求服务器后,服务器发给客户端的一个辨认标识,保存在客户端,当客户端再次 向服务器发送请求时,会携带着这个辨认标识,服务器就可以通过这个标识来识别

2020-09-24 10:49:22 264

原创 Jsp超详细整理

*JSP**入门什么是JSPJSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传 统的网页HTML文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为 (*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,

2020-09-24 01:05:35 631

转载 软件开发必知必会

软件开发必知必会软件开发流程需求分析一个软件没有出现之前,只是有一部分人有一个想法,我需要一个这样的东西(想要一个孩子了)用来管理我的什么什么,这个时候一个想法出现了,就会有这个需求,他会找软件公司需求分析师来商量,这个时候一个软件就怀孕了,相当于开始发育了.需求分析是听完要求以后会将大概的功能描述一下,用Word或者Axure画出一个简单的Demo给用户看,经过几次确认以后需求分析师会最后确认功能是不是完善的,确认了以后进行我们的下一步,概要设计概要设计这个功能主要是干嘛的呢?很多的公司觉得没必

2020-09-23 17:25:39 243

转载 WEB基础知识

WEB基础知识什么是webweb(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。web发展史起源1989年CERN(欧洲粒子物理研究所)中由Tim Berners-Lee领导的小组提交了一个针对Interne

2020-09-23 17:00:58 4562

转载 JavaWeb学习笔记 --MVC设计模式

MVC设计模式什么是设计模式设计模式是一套被反复使用的、多数人知晓的、经过分类编目的设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。MVC基

2020-09-23 16:36:43 400

原创 Listener监听器

JavaWeb学习笔记-Listener什么是Listner监听器用于监听web应用中某些对象、信息的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。常用于统计在线人数和在线用户,系统加载时进行信息初始化,统计网站的访问量等等。分类按监听的对象划分,可以分为ServletContext对象监听器HttpSession对象监听器ServletRequest对象监听器按监听的事件划分对象自身的创

2020-09-23 16:10:27 184

原创 Filter过滤器

JavaWeb学习笔记- Filter什么是Filter过滤器是 Servlet 容器中的一个组件,主要负责处理请求和响应,具体来说是负责对请求(HttpServletRequest)进行预处理, 以及对响应(HttpServletResponse)进行后处理,在实现上,基于函数回调,它可以对几乎所有请求进行过滤,所以它是依赖 Servlet 容器的。执行流程个Tomcat,如果Tomcat配置了拦截器,则由先拦截器该请求,拦截器可以选择拦截请求或者放行请求,也可以加强请求。(对用户发送的reque

2020-09-23 15:50:12 491

转载 转发与重定向

转发与重定向什么是转发转发是指我们的一个请求处理器(ServletA)将请求交给另一个处理器处理(ServletB),再讲结果返回。基本流程客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的student_list.jsp,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此servlet和jsp共享的是同一个request,在servlet里面放的

2020-09-23 12:43:38 139

原创 一篇明白SQL的执行顺序

这是一条标准的查询语句:这是我们实际上SQL执行顺序:我们先执行from,join来确定表之间的连接关系,得到初步的数据where对数据进行普通的初步的筛选group by 分组各组分别执行having中的普通筛选或者聚合函数筛选。然后把再根据我们要的数据进行select,可以是普通字段查询也可以是获取聚合函数的查询结果,这里已经分组了,可以大胆使用聚合函数,最后查询结果去重。最后合并各组的查询结果,按照order by的条件进行排序...

2020-09-23 00:49:44 7275 4

转载 HTTP状态码大全

HTTP状态码大全100:状态码描述100客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。101服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。200:状态码描述200服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。201请求成功并且服务器创建了新的资源。202服务器已接受请求,但尚未处理。203服务器已成功

2020-09-22 19:18:27 108

原创 Servlet 进阶篇

Servlet进阶Servlet3.0注解配置注解配置的使用我们删除之前的web.xml的配置文件,在我们要配置URL路径的Servlet类上添加@WebServlet()注解,括号里面传入我们要处理的请求的URL路径,以/开头@WebServlet("/hello")public class ServletDemo1 implements Servlet { ...}原来的xml,我们看到别名是冗余的只是为了识别,一个servlet就8行,阅读性很差。<servlet&gt

2020-09-22 18:39:38 311

原创 Servlet新手入门篇

Servlet入门什么是ServletJava Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。简单的概括:Servlet 是 JavaEE 规范之一。规范就是接口Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Fil

2020-09-22 17:23:25 638

原创 HttpServletResponse Api

HttpServletResponse Api常用方法返回值方法名描述CookieaddCookie(Cookie cookie)将指定 cookie 添加到响应。可多次调用此方法设置一个以上的 cookie。StringencodeURL(String url)通过将会话 ID 包含在指定 URL 中对该 URL 进行编码,如果不需要编码,则返回未更改的 URL。此方法的实现包含可以确定会话 ID 是否需要在 URL 中编码的逻辑。例如,如果浏览器支持 cooki

2020-09-22 16:15:26 372

原创 HttpServletRequest常用方法

`HttpServletRequest 常用方法常用方法返回值方法名描述CookiesgetCookies()返回包含客户端随此请求一起发送的所有 Cookie 对象的数组。longgetDateHeader(String name)以表示 Date 对象的 long 值的形式返回指定请求头的值。StringgetHeader(String name)以 String 的形式返回指定请求头的值。EnumerationgetHeaders(Strin

2020-09-22 16:03:09 3776 1

转载 Http请求头响应头 参数Api

Http Request Header 请求头Header解释示例Accept指定客户端能够接收的内容类型Accept: text/plain, text/htmlAccept-Charset浏览器可以接受的字符编码集。Accept-Charset: iso-8859-5Accept-Encoding指定浏览器可以支持的 web 服务器返回内容压缩编码类型。Accept-Encoding: compress, gzipAccept-Language浏览

2020-09-22 15:20:50 1655

原创 Tomcat部署IDEA项目

idea 整合 Tomcat文章目录idea 整合 Tomcat基本流程创建JavaWeb项目版本选择部署项目选择部署方式示例部署非JavaWeb项目常见问题基本流程创建JavaWeb项目版本选择不同JavaEE版本对应的Tomcat版本和Servlet版本如下:JavaEE版本Tomcat版本Servlet版本运行环境1.34.12.3/1.2JDK1.31.45.02.4/2.0JDK1.45.05.5/6.02.5/2.1JDK5.0

2020-09-22 14:47:50 928

原创 Jdbc进阶篇

JDBC进阶部分上一篇讲了Jdbc的基本使用,常用对象,方法的讲解,这篇博客主要对一些Jdbc实际使用场景的问题和优化展开的。SQL注入问题SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。简单的示例:这是一条基础的登录语句,用户传过来两个参数,我们验证一下数据库是否有这个账号密码,如果

2020-09-21 23:47:35 235

原创 Tomcat服务器入门

Tomcat服务器入门(Idea)Tomcat的概述什么是Web服务器?服务器:安装了服务器软件的计算机本质上也是硬件,只是配置比较好。硬盘比较大,CPU核数比较多,CPU更加高级,反正就是比一般的电脑要好。服务器软件:接收处理用户的请求,并响应用户请求的计算机软件。Web服务器软件:将web项目部署到web上,让用户通过浏览器访问到这些项目。Web服务器接收用户的浏览器发出的Http请求,处理并响应用户请求。为什么使用Tomcat服务器?常见Java相关的Web服务

2020-09-21 20:38:25 240

原创 Java JDBC入门篇

JDBC一篇入门什么是JDBC简介JDBC(JavaDataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。发展历史自从Java语言于1995年5月正式公布以来,Java风靡全球。出现大量的用java语言编写的程序,其中也包括数据库应用程序。由于没有一个Java语言的数据库操作API,编程人员不得不在Java程序中加入C语言的ODBC函数调用。

2020-09-20 19:41:20 216 1

转载 用了这么久你还不知道Java 8到底有哪些新特性?

用了这么久你还不知道Java 8到底有哪些新特性?一、接口的默认方法(Default Methods for Interfaces)Java 8使我们能够通过使用 default 关键字向接口添加非抽象方法实现。 此功能也称为虚拟扩展方法。第一个例子:interface Formula{ double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); } }1234567Formula

2020-09-20 17:53:51 293

转载 Java枚举类 Enum (搬运)

Java枚举类 Enum为什么要引入枚举类一个小案例你写了一个小程序,不过好久不用了,突然有一天,你想使用一下它。程序要想正确运行,需要将今天星期几存到数据库里。这个时候,你开始犯难了。当初的你还很年轻,不懂程序界的险恶,设计这个程序的时候,傻不拉几把这个字段设计为int类型的,用0代表周日,1代表周一。。。6代表周六,添加的时候就setWeekday(0)。但是这么长时间没用了,你忘记自己是从周一开始计算还是周日开始计算了,换句话说,你想不起来0代表的是周一还是周日了!于是你各种翻代码,看数据库

2020-09-20 17:47:24 403

原创 手撕AQS源码第三弹 --AQS加锁解锁原理

AQS加锁解锁原理这是网上引用的一张流程图,讲的非常明白,但是对于没有扒过源码的小伙伴而言,有点困难了。比如SIGNAL,方法没有加注释,就上传了这个一个图也好几百访问量,我裂开了。首先讲加锁的流程之前,先把相关的方法,变量简单讲一遍相关变量private transient volatile Node head;private transient volatile Node tail;private volatile int state;解释:我们的队列由Node组成,每个Node

2020-09-20 15:29:06 792

原创 手撕AQS源码第二弹 -- AQS常见方法

AQS常见方法首先我们研究源码的时候,应该研究核心源码,只要研究完核心源码,其他的源码无非就是在此基础上的一些附加功能。AQS的源码也就2000多行,我们对AQS的方法进行简单的分类:CAS相关CAS没什么好说的,只要是任何修改值的操作,都可以用CAS的原子操作进行。返回值方法名描述booleancompareAndSetStateCAS尝试修改锁状态booleancompareAndSetHeadCAS尝试修改队列头booleancompareAndS

2020-09-20 12:04:17 233

原创 手撕AQS源码第一弹 -- AQS的继承体系,内部类,成员变量

AQS的继承体系,内部类,成员变量父类和父接口AbstractQueuedSynchronizer继承了AbstractOwnableSynchronizer,实现类序列化接口。而AbstractOwnableSynchronizer主要就是一个成员变量exclusiveOwnerThread,表示当前持锁的线程对象,然后就是get set方法,是个很简单的抽象类。public abstract class AbstractQueuedSynchronizer extends Abstract

2020-09-20 10:40:30 367

原创 如何学习JUC?

JUC什么是JUCjuc是Java.util.concurrent包的简写,也叫Java的并发包。很多培训机构并不会去教这个JUC包,一般讲多线程之前,基本上最多讲到一个线程池的创建和使用。那么这个JUC包是何方神圣呢?JUC包有哪些目录结构:java.util Java工具包concurrent Java并发包locks 锁atomic 原子类其中我们的java.utils.concurrent下有我们的线程池,TimeUnit等。java.utils.co

2020-09-19 23:13:01 1461 1

原创 一篇带你入门Java线程池

Java线程池入门什么是线程池我们知道线程创建的多种方式:继承Thread实现Runnable实现Callable线程池就是创建一个容器,来管理我们的线程,将线程的创建过程交给线程池,我们只需要调用线程池的execute()方法,将需要执行的任务(Runnable的实现类)传进去,线程池就能帮我们完成任务。为什么要使用线程池这是我们熟悉的任务管理器,我们打开性能可以看到,目前电脑上有194个进程和3214个线程,其中的线程就是指我们的内核线程执行普通的方法执行线程10000个线程p

2020-09-19 22:46:42 274

原创 Java初学者也能看的懂的AQS

Java初学者也能看的懂的AQS学习AQS之前,你需要了解以下内容,如果不是很清楚,那么理解本文会有点吃力。(Java初学者得会一下内容)synchronizedCASLock前言synchronized首先我们知道synchronized是Java关键字,上锁释放锁等一切操作都是由JVM控制的。我们只能通过虚拟机的C++才能去研究其底层实现。我们除了判断synchronized是作为方法的修饰符,还是当做同步代码块使用以外,没什么需要我们程序员操作的。cas一种自旋的原子操作,也是J

2020-09-17 21:48:45 259

转载 面试必问的CAS,你懂了吗?

面试必问的CAS,你懂了吗?文章目录面试必问的CAS,你懂了吗?@[toc]概述案例CAS是什么?源码分析intel手册对lock前缀的说明如下:CAS的缺点:循环时间长开销很大:只能保证一个变量的原子操作:什么是ABA问题?ABA问题怎么解决?概述CAS(Compare-and-Swap),即比较并替换,是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术。CAS也是现在面试经常问的问题,本文将深入的介绍CAS的原理。案例介绍CAS之前,我们先来看一个例子。/**

2020-09-17 16:57:17 226

转载 MySQL数据库 常见内置函数

MySQL数据库 常见内置函数文章目录MySQL数据库 常见内置函数1.数学函数2.字符串函数3.日期函数4.加密函数5.条件判断函数2.自定义函数3.自定义函数相关语法1.数学函数rand()round(num)ceil(num)floor(num)随机四舍五入向上取整向下取整2.字符串函数length() 字节长度char_length() 字符长度ucase() 大写lcase() 小写concat(字符,…,字符n) 连接字符串replace(字

2020-09-16 01:31:32 340

原创 MySQL 慢查询和SQL优化 你和高薪就差一个调优了!

MySQL 慢查询和SQL优化文章目录MySQL 慢查询和SQL优化慢查询分析指令 ExplainSQL优化SQL语句层面优化创建索引优化索引没被使用创建组合索引索引失效的场景参与运算like关键字函数隐式转换组合索引总结慢查询什么是慢查询?MySQL慢查询,全名是慢查询日志。是MySQL提供的一种日志记录,用来记录那些在MySQL中超响应时间超过阈值的语句。默认情况下MySQL慢查询是关闭的,需要手动设置这个参数如果不是调优需要,一般不建议开启,因为开启慢查询会多少带来一定的性能

2020-09-16 01:27:45 296

原创 大厂爱问的 MySQL索引与B+树,看这一篇就够了!

MySQL 索引原理- 索引与 B+TreeMySQL索引类型MySQL的索引一般而言都是B+树,但是也有些时候可以使用哈希索引。哈希索引:查找速度非常快是一种内存存储引擎是一种散列的查找方式,不支持排序和范围查找一般情况下我们都是用B+树一种基于硬盘存储所创建的变种树支持排序,范围查找查询速度也非常可观,而且是查找速度是稳定的。为什么选B+树作为存储结构那什么是B+树?呃,这个说来话了,我们以光速扫描一遍数据结构基础顺序查找我们知道索引是一种数据结构,假如

2020-09-15 19:08:04 307

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除