Java
文章平均质量分 91
java
Hello3q3q
某大厂底层员工
展开
-
ACM模式下如何处理Java的输入
0. 前言在力扣上刷题的时候不用考虑输入输出的问题,只需要根据所给函数框架写中间逻辑代码,但是很多大厂的笔试都是采用的ACM模式,即函数的输入是从控制台键入的几行数据,而输出是直接将结果打印到控制台。输入调用的是import java.util.Scanner;,注意Scanner是util包下的!!输入的处理也可以说是Scanner的用法,现在将一些常见的输入进行总结。1. 单个输入有的函数输入很简单,就是一个数,或者一个字符串,或者一行数中间用空格隔开,这种输入很简单,处理方法如下。输入是一原创 2021-09-02 16:29:44 · 4715 阅读 · 0 评论 -
Docker概念及常用命令
Docker1. docker的简介2. Docker组件2.1 Docker客户端和服务器2.2 Docker镜像2.3 Registry(中央仓库)2.4 Docker容器2.5 docker调用结构3. Docker安装与启动3.1 安装环境说明3.2 虚拟机网络配置3.3 安装Docker3.4 查看Docker版本3.5 启动与停止Docker4. Docker镜像操作4.1 什么是Docker镜像4.2 列出镜像4.3 搜索镜像4.4 拉取镜像(下载镜像)4.4.1 从Docker Hub拉取原创 2021-06-11 16:04:51 · 717 阅读 · 1 评论 -
SpringBoot(一)快速入门
目录一、SpringBoot简介1.1 设计初衷1.2 核心功能1.3 开发环境要求(本小节信息已过时)1.4 Spring怎么做Web开发?二、SpringBoot快速入门2.1 Maven搭建SpringBoot工程2.2 使用IDEA快速创建SpringBoot项目2.3 SpringBoot工程热部署三、SpringBoot原理分析3.1 starters的原理3.2 依赖管理的原理3.3 自动配置(AutoConfiguration)原理3.4 三个原理分析:四、SpringBoot的配置文件4.原创 2021-02-25 20:18:29 · 641 阅读 · 0 评论 -
SpringMVC(四)拦截器
1. 拦截器相关概念Servlet:处理Request请求和Response响应过滤器(Filter):对Request请求起到过滤的作用,作用在Servlet之前,如果配置为/*可以对所有的资源访问(servlet、js/css静态资源等)进行过滤处理监听器(Listener):实现了javax.servlet.ServletContextListener 接口的服务器端组件,它随Web应用的启动而启动,只初始化一次,然后会一直运行监视,随Web应用的停止而销毁作用一:做一些初始化工作作用二原创 2021-02-25 19:34:10 · 105 阅读 · 0 评论 -
SpringMVC(三) Controller返回值、Ajax交互、文件上传
1. Controller方法(Handler)的返回值1.1 返回ModelAndView若处理器对请求处理过后,不仅要进行跳转,而且在跳转过程中还要传递数据,此时使用ModelAndView较为方便。在控制器类中,处理客户端请求后,可以把需要响应到页面的数据和视图名字都封装到一个ModelAndView对象中,然后直接返回这个ModelAndView对象。示例代码如下,将时间数据保存到ModelAndView对象,并传递到result.jsp页面。@Controllerpublic cl原创 2021-02-25 17:24:26 · 746 阅读 · 0 评论 -
SpringMVC(二)请求参数的绑定与常用注解
在上篇博客中讲解了SpringMVC的基本概念和入门程序,下面讲一讲请求参数的绑定与常用注解。1. RequestMapping注解的使用1.1 用法1:多个URL路径映射到同一个Handler配置文件请见上篇博客,项目框架如下所示:DefaultController代码如下:@RequestMapping("default")public class DefaultController { // 用法1:多个URL路径映射到同一个Handler用法 @RequestMapp原创 2021-02-18 21:00:20 · 116 阅读 · 0 评论 -
SpringMVC(一)基本概念与入门
1. 三层架构与MVC1.1 三层架构一般开发架构都是基于两种架构形式,一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器/服务器。在JavaEE开发中,几乎全都是基于B/S架构的开发。那么在B/S架构中,系统标准的三层架构包括:表现层、业务层、持久层。三层架构中的具体功能如下:表现层: 即常说的web层。负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求web层,web需要接收http请求,完成http响应。 表现层包括展示层和控制层:控制层负责接收请求,原创 2021-02-18 17:47:08 · 155 阅读 · 0 评论 -
(Java)基于Zookeeper的分布式锁
上篇博客中讲了Zookeeper的基本概念和使用,这篇博客讲基于Zookeeper的分布式锁01. 为什么使用分布式锁一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLcok或synchronized)进行互斥控制。但是,随着业务发展的需要,原单体单机部署的系统被演化成分布式系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,为了解决这个问题就需要一种跨JVM原创 2021-02-15 10:28:21 · 254 阅读 · 0 评论 -
(Java)Zookeeper基本概念、常用指令与简单应用
01. 概述1.1 分布式应用分布式应用(distributed application)指的是应用程序分布在不同计算机上,通过网络来共同完成一项任务的工作方式。以javaEE实现一个电商网站为例:单体应用:所有功能都写在一个项目了;打包成一个可运行的war包;部署这个war包就可以完成整个网站所有功能。分布式应用:不同的功能写在不同的项目里;打包成多个可运行的war包;由多个运行的服务共同完成整个网站的完整功能。 如上图,这个电商网站包含了用户管理、商品管理、订单管理、支付管理4个模原创 2021-02-15 10:17:21 · 298 阅读 · 2 评论 -
Spring中的事务及其配置(分别基于XML、注解、半XML半注解)
1. Spring中的事务1. 事务的回顾1.1 事务的概念事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功。从而确保了数据的准确与安全。例如:A——B转帐,对应于如下两条sql语句: /*转出账户减钱*/ update account set money=money-100 where name=‘a’; /**转入账户加钱*/ update account set money=money+100 where name=‘b’;这两条语句的执行,要么原创 2021-01-28 16:13:30 · 271 阅读 · 0 评论 -
Spring框架03-Spring中的AOP(分别基于XML、注解、半注解半XML配置)
1. AOP的通俗理解AOP(Aspect Oriented Programming),即面向切面编程。官方介绍如下:通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。下面我用通俗的例子,讲一下我对AOP的理解。AOP的思想其实就想做汉堡,我们主要原创 2021-01-26 20:15:04 · 183 阅读 · 0 评论 -
JVM入门笔记及学习框架
JVM探究常见的关于JVM的问题:请你谈谈对JVM的理解?java8虚拟机和之前的变化更新什么是OOM,什么是栈溢出StackOverFlowError?怎么分析?JVM常用的调优参数有哪些?内存快照如何抓取,怎么分析Dump文件?谈谈JVM中,类加载器你的认识?1. JVM的位置2. JVM的体系结构注:桟中一定没有垃圾回收,Jvm调优主要在堆中调优3.类加载器作用:加载Class文件类型:虚拟机自带的加载器、启动类(根)加载器、扩展类加原创 2021-01-25 19:59:02 · 146 阅读 · 0 评论 -
Spring框架02-XML开发与注解开发
1. IoC的综合案例(CRUD) - 纯xml开发现在以一个简单的案例讲解Spring的纯xml开发1.1 综合案例介绍案例的需求实现账户表的增删改查操作案例的要求选用基于XML的Spring和Mybatis整合配置实现。数据库表结构介绍CREATE TABLE `account` (`id` int(11) NOT NULL ,`name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT原创 2021-01-20 21:25:31 · 160 阅读 · 0 评论 -
Spring框架01-IoC基础及XML的配置
1. Spring概述1.1 关于框架框架的概念框架:在这里特指软件框架,它是我们在实际开发中解决项目需求的技术集合。运用框架可以大大简化我们的代码编写,缩短开发周期。同时,对后续项目维护在面对开发团队人员更迭时降低了门槛,对系统升级提供灵活可控的标准。当然,框架提高了我们的开发效率,降低维护成本的同时,也要求我们在使用时遵循它的规范,要按照它的使用要求编写代码。最后,需要注意的是,它不是系统架构。框架的作用提高开发效率。增强可重用性。节约维护成本。提供编写规范。解耦底层实现原理。学好框原创 2021-01-17 17:12:44 · 271 阅读 · 0 评论 -
(Java)自定义权限控制的实现
0. 前言最近在做hmmm项目,其中有一节讲的是自定义权限控制的实现,感觉很有收获,决定将整个实现的思想和流程记录下来。1.问题描述与分析1.1 问题描述系统要求不同的用户针对不同的菜单及操作应该有不同的权限。比如管理员可以操作精选题库列表及相应的审核操作,如果是普通录入人员,只能操作基础题目菜单及题库录入的接口。所以精选题库及题目审核必须具有该权限的用户才可以操作,如果登录用户没有这个权限,系统应提示用户进行登录。1.2 问题分析权限具体是什么?权限在系统中就是一个字符串标识,标识系统的每个功原创 2021-01-09 20:44:15 · 840 阅读 · 0 评论 -
maven中用dom4j解析xml文档
1.需求分析关于dom4j的详细使用方法请参考:https://blog.csdn.net/qq_41860497/article/details/84339091在xml中存储了过滤器的的初始化参数,需要解析该xml文件,拿到初始化参数,过滤器配置文件web.xml文件如下:<?xml version="1.0"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN原创 2021-01-07 11:02:26 · 354 阅读 · 0 评论 -
linux部署JDK、Tomcat、MySQL、redis笔记
1. Linux操作系统部署JDKlinux版本JDK上传到linux系统中的 /usr/local下tar -xvf 解开压缩包tar -xvf jdk-8u191-linux-i586.tar.gz配置环境变量进入 /etc目录中,编辑文件profile以下代码复制到profile文件中#set java environment JAVA_HOME=/usr/local/jdk1.8.0_191 CLASSPATH=.:$JAVA_HOME/lib.tools.ja原创 2020-12-25 15:29:35 · 123 阅读 · 0 评论 -
linux常用基础命令学习
常用基础命令1. 目录切换命令2. 目录操作命令(增删改查)2.1 查看目录:ls -[al]2.2 增加新目录:mkdir2.3 搜索目录和文件:find2.4 修改目录名:mv2.5 复制目录:cp2.6 删除目录或文件:rm3. 文件操作命令(增删改查)3.1 创建文件:touch3.2 查看文件3.3 修改文件:vim编辑器4. 压缩文件管理4.1 tar命令:压缩和解压缩5. pwd命令:显示当前的目录6. 其他命令7.1 chmod命令设置权限8. 远程安装软件命令(联网使用):yum9. 软原创 2020-12-25 15:29:20 · 100 阅读 · 0 评论 -
(Vue)axios.get与axios.post区别
参考链接:https://jingyan.baidu.com/article/a501d80cb60400ac630f5ed6.html原创 2020-12-20 15:27:22 · 1093 阅读 · 2 评论 -
Vue基础知识总结
一、 Vue简介1. Vue是什么Vue.JS是优秀的前端 JavaScript 框架库和框架的区别:库(如jQuery)库是工具. 提供大量API,体现了封装的思想、需要自己调用这些API框架框架提供了一套完整解决方案,使用者要按照框架所规定的某种规范进行开发2. 为什么要学习 Vue随着项目业务场景的复杂,传统模式(html+jquery)已无法满足需求就出现了Angular/React/Vue等框架企业需求主流框架之一(React Angular Vue)原创 2020-12-19 18:59:50 · 637 阅读 · 2 评论 -
(JQuery)搜索时,内容自动补全案例
第九章 综合案例(使用JQuery处理JSON数据)1 综合案例1 :检测用户名是否已经被注册1.1 需求:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gek8dXct-1608086899525)(day14_jquery&ajax.assets/1571303363732.png)]1.2 分析[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BUE7QuGg-1608086899526)(day14_jquery&原创 2020-12-16 21:22:42 · 491 阅读 · 0 评论 -
ajax基本用法、用户名检查案例与 json基础
一、 ajax概述1. 什么是ajaxAJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。2. AJAX的应用场景ajax的应用场景很多,常见的应用场景如下:原创 2020-12-16 17:02:46 · 346 阅读 · 0 评论 -
jQuery基本用法与示例代码(全干货)
jQuery基本用法一、 jQuery框架介绍1. jQuery框架概述2. jQuery框架的下载与引入3. jQuery对象与js对象之间的转换二、 jQuery选择器1. 基本选择器2. 层级选择器3. 表单属性选择器三、 jQuery的DOM操作1. jQuery对DOM树中的文本和值进行操作2. jQuery对DOM树中的属性进行操作四、 jQuery的遍历1. 原始方式遍历2. jquery对象方法遍历3. jquery的全局方法遍历一、 jQuery框架介绍本文只简单介绍jQuery基本用原创 2020-12-16 11:14:47 · 8402 阅读 · 0 评论 -
JavaScript主要知识点回顾
JavaScript主要知识点一、JavaScript的引入二、 基本语法1 变量2 JS的数据类型3 JS的三种输出方式4 运算符算术运算符 | 赋值运算符 | 比较运算符 | 逻辑运算符Boolean布尔类型运算5 JS的流程控制语句6 函数(重要)普通函数匿名函数7 事件(重要)三、 DOM对象1 什么是DOM2 DOM文档对象的API元素的操作 Document元素的操作 Element属性的操作 Attribute文本的操作 Text3 DOM操作练习(重点)getElementByIdgetEl原创 2020-12-15 10:09:04 · 583 阅读 · 0 评论 -
(Java)#{}与${}的区别
区别1.#{}解析为一个 JDBC 预编译语句(prepared statement)的参数标记符,一个#{ }被解析为一个参数占位符;而${}仅仅为一个纯碎的 string 替换,在动态SQL 解析阶段将会进行变量替换。#{}解析之后会将String类型的数据自动加上引号,其他数据类型不会;而${}解析之后是什么就是什么,他不会当做字符串处理。#{}很大程度上可以防止SQL注入(SQL注入是发生在编译的过程中,因为恶意注入了某些特殊字符,最后被编译成了恶意的执行操作);而${}主要用于S.原创 2020-12-09 20:33:19 · 1719 阅读 · 1 评论 -
MyBatis框架总结一(快速入门)
MyBatis框架总结1.框架概述1.1 什么是框架1.2 框架解决什么问题1.3 怎么使用框架1.4 原生JDBC案例的问题1.5 MyBatis框架概述2. MyBatis框架快速上手2.1 jar包2.2 配置文件2.3 pojo对象2.4 测试2.5 快速入门中的不足1.框架概述1.1 什么是框架框架是一个半成品,对于Java语言来说,框架就是封装了别人的代码。在框架的基础上我们在进一步开发,虽是一种拿来主义,但开发效率较高。1.2 框架解决什么问题解决的是技术整合问题。软件开原创 2020-12-06 10:28:26 · 344 阅读 · 0 评论 -
ava.sql.SQLException: Cannot create com.pojo.Permission: com.pojo.Permission Query: select * from
一直在报这个异常,原来是pojo中忘记写无参构造方法了。。。原创 2020-11-24 20:11:18 · 364 阅读 · 0 评论 -
java.sql.SQLException: Table ‘web02.t_permission‘ doesn‘t exist Query
错误信息如下,原因是在数据库web02中没有对应的t_permission表。有两种可能:一是表名拼写错误,二是表不在web02数据库中,我这边是情况是第二种。解决方法:在C3p0配置文件中修改这一行代码<property name="jdbcUrl">jdbc:mysql://localhost:3306/web05</property>...原创 2020-11-24 08:37:08 · 298 阅读 · 0 评论 -
(Java)过滤器Filter及“登录案例”
1. 过滤器Filter1.1 Filter概念过滤器: 过筛子,符合条件的过去,不符合条件不能过去.生活比喻: 安检,检查安全的人与物才可以通过放行程序: 客户端需要访问服务器的目标资源,在客户端和服务器资源之间设置过滤器, 符合要求放行2. Filter的入门程序需求:浏览器要访问HelloServlet途径过滤期MyFilter, 若MyFilter放行,可执行访问到HelloServlet; 若不放行,无法访问HelloServlet执行图解:实原创 2020-11-22 11:33:04 · 716 阅读 · 3 评论 -
(Java)JSTL的核心标签库使用
JSTL的核心标签库使用1 jstl标签的基本概述JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样, 也是要放到jsp页面中的脚本代码。JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是它的核心库Core标签库标签库的URI前缀Corehttp://java.sun.com/jsp/jstl/corecI18Nhttp://java.sun.c原创 2020-11-22 10:21:49 · 325 阅读 · 0 评论 -
(Java)EL表达式及“记住登录用户名”案例
1 EL表达式的基本概述EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中输出脚本<%= 数据 %>的编写。2 EL表达式的格式和作用EL表达式的格式:${EL表达式内容}EL表达式的作用:从域对象中查找指定的数据。EL内置对象的使用执行运算符3 EL表达式的基本使用(从域中取出数据)EL从四个域中获得某个值: ${key}作用范围从小到大是依次从pageContext域,request原创 2020-11-22 10:14:58 · 1476 阅读 · 0 评论 -
Servlet三大域对象,Jsp四大域对象
给我学迷糊了。。。感觉这篇博客写的挺好的原创 2020-11-20 21:15:21 · 75 阅读 · 0 评论 -
(Servlet)转发和重定向的联系与区别
更详细的请看之前的一篇博客。。请求转发和重定向联系与区别联系:浏览器看到的结果是servlet2执行的结果区别:请求转发是一次请求一次响应,而重定向是两次请求两次响应。请求转发地址栏不会变化的,重定向地址栏发生变化。请求转发路径不带工程名,重定向需要带工程名路径。请求转发只能在本网站内部,重定向可以定向到任何网站。注意:如果需要使用request进行值传递,需要通过请求转发完成。如果页面需要跳转到其他网站上必须使用重定向, 不能使用request进行值传递。原创 2020-11-20 21:12:41 · 131 阅读 · 0 评论 -
(Java)配置Tomcat时,Deployment中点开Artifact没有对应Module
1. 问题描述新建了一个Module,需要配置一下虚拟路径,在run》Edit Configration中做如下操作点开后发现没有自己刚刚创建的Module2. 解决方法依次点击找到自己刚刚创建的Module,点击ok最后再去run》Edit Configration中配置即可看到自己刚刚创建的Module如果还是没有,就先把已经存在的war删除掉,如下图所示,再点击加号就有了...原创 2020-11-15 15:31:55 · 390 阅读 · 0 评论 -
(JavaWeb)servletContext、Response、Request知识点总结
(JavaWeb)servletContext、Response、Request知识点总结1. servletContext 对象1.1 定义1.2 ServletContext对象的作用1.2.1 获取WEB应用程序的初始化参数:1.2.2 获取WEB应用程序下任意资源的绝对路径1.1.3 ServletContext作为域对象2. Response对象2.1 Response对象概述2.2 Response设置响应行2.3 Response设置响应头2.4 重定向2.4.1 重定向的代码实现2.5 Re原创 2020-11-15 15:08:54 · 639 阅读 · 0 评论 -
(JAVA)IDEA使用相对路径无法找到对应文件的解决方法
方法:工具栏run->edit Configuration->work directory更改当前默认路径图示:1.2.修改当前路径原创 2020-11-13 16:55:57 · 5473 阅读 · 6 评论 -
(JAVA)Servlet程序执行原理及应用
Servlet程序执行原理原创 2020-11-12 20:34:32 · 53 阅读 · 0 评论 -
(java) Idea中导入servlet包失败处理方法
第一次导入servlet包的时候会报错,出现红色字体错误原因显示为:实际上就是因为没有把相应的jar包导入。解决方法为:在Tomcat安装目录下,找到lib文件夹,在里面找到servlet-api.jar这个文件。然后打开Ideal,在WEB-INF目录下创建一个新的lib文件夹,将servlet-api.jar复制进去。复制完成后,右击该jar包,选择Add as Library即可最后servlet不再报错。...原创 2020-11-04 08:24:18 · 4540 阅读 · 18 评论 -
(JAVA)Druid简单应用
1.简单介绍Druid:数据库连接池实现技术,由阿里巴巴提供的步骤:导入jar包 druid-1.0.9.jar定义配置文件:是properties形式的可以叫任意名称,可以放在任意目录下加载配置文件。Properties获取数据库连接池对象:通过工厂来来获取 DruidDataSourceFactory获取连接:getConnection2.简单示例首先定义一个名为“druid.properties”的配置文件:driverClassName=com.mysql.原创 2020-10-17 11:14:19 · 2613 阅读 · 0 评论 -
Java集合框架(1)—Collection的使用
1. 基本概念1.1 概念对象的容器,定义了对多个对象进行操作的常用方法,并可以实现数组的功能。1.2 与数组的区别区别1:数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值。集合只能存储引用数据类型(对象)。集合也能存储基本数据类型(有点矛盾,看后句),但是在存储的时候会自动装箱变成对象。区别2:数组长度是固定的,不能自动增长。集合的长度是可变的,可以根据元素的增长而增长1.3 Collection体系集合1.4 特点原创 2020-10-14 11:19:27 · 123 阅读 · 0 评论