自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 收藏
  • 关注

原创 【跟着GPT4学JAVA】异常篇

问:我们如何进行异常处理答:在Java中处理异常主要涉及两种策略:使用try-catch语句块来捕获异常,或者在方法签名中使用throws关键字来声明异常。如果你知道如何处理异常,并且这个异常在当前上下文中是可以被解决的,那么使用try-catch。如果你不知道如何处理异常,或者这个异常应该由上层逻辑来处理,那么使用throw向上抛出。记住,异常处理的目标是保持程序的稳定性和可维护性。合理地使用try-catch和throw可以帮助你实现这个目标。

2024-03-30 23:31:43 938

原创 Hadoop和Spark中通过网页查看任务执行情况

Hadoop和Spark中通过网页查看任务执行情况HDFS文件系统http://node1:9870任务执行情况http://node1:8088/Spark-On-Yarn模式下,JobHistory的查看JobHistory是用来记录已经运行完成的MapReduce作业日志信息http://node1:19888/Spark-On-Yarn模式下,History Server查看historyserver用来记录作业的信息,包括已经运行完成的和正在运行的http://node1

2022-04-12 21:01:57 4063

原创 Hadoop,Spark和HIve的启动命令

Hadoop和Spark命令Hadoop启动命令启动HDFS服务start-dfs.shstop-dfs.sh启动YARN服务start-yarn.shstop-yarn.sh启动同时启动start-all.shstop-yarn.shSpark模式Local本地模式先启动hdfs服务start-all.sh或者start-dfs.sh启动交互式服务/export/server/spark-3.0.1-bin-hadoop2.7/bin/spark-shell独立集

2022-04-11 23:16:41 2910

原创 springboot打包

springboot打包打为war包过程如下 :pom文件中加入依赖 <!--加入jsp的依赖--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency>在build标签中指定jsp文件的编译目录 <

2021-12-12 21:12:31 5759

原创 springboot使用redis

springboot使用redisredis-service.exe : 服务端,启动后不要关闭redis-cli.exe : 客户端,访问redis中的数据redisclient-win32.x86_64.2.0.jar : redis的图形界面客户端,执行方式是在这个文件的目录执行java -jar redisclient-win32.x86_64.2.0.jar或者在这个jar包的目录下点击即可直接执行点击server,点击add,设置端口号就可以访问redis了springboot

2021-12-12 13:20:39 42396 3

原创 接口架构风格-RESTful

接口架构风格-RESTful这里的接口是指API(应用程序接口)API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。架构风格 : 简单来讲就是api的组织方式(样子)例如: http://localhost:8081/mytrans/addStudent?name=lis

2021-12-11 18:11:41 572 1

原创 ORM操作MySQL

ORM操作MySQL本篇主要讲解MyBatis框架操作数据库,通过SpringBoot + MyBatis实现对数据库的操作我们以学生表为例,表结构如下 :使用步骤MyBatis起步依赖 : 完成MyBatis对象的自动配置,对象放在容器中pom.xml指定把src/main/java目录中的xml文件包含到classpath中创建实体类Student创建Dao接口 StudentDao,创建一个查询学生的方法创建Dao接口对应的Mapper文件,xml文件写Sql语句创建Servic

2021-12-11 10:37:42 1163

原创 SpringBoot和web组件

SpringBoot和web组件本篇讲解三个内容,分别为拦截器,Servlet,Filter拦截器拦截器是SpringMVC中的一种对象,能拦截对Controller的请求框架中有系统的拦截器,还可以自定义拦截器,实现对请求的预先处理.SpringMVC中实现自定义拦截器创建类实现SpringMVC框架的HandlerInterceptor接口该接口的信息如下 :public interface HandlerInterceptor { default boolean preHa

2021-12-08 21:35:45 720

原创 SpringBoot核心配置文件

SpringBoot核心配置文件配置文件的名称必须是application扩展名有两种分别为 .properties(key=value形式)和.yml(key:value)使用application.properties文件内容为#设置端口号server.port=8081#设置访问应用的上下文路径server.servlet.context-path=/myboot视图层import org.springframework.stereotype.Controller;impor

2021-12-08 13:09:25 2960

原创 XML和JavaConfig

XML和JavaConfig什么是JavaConfigJavaConfig是Spring提供的使用java类来作为xml配置文件的替代,是配置spring容器的纯java方式,在这个java类中可以创建java对象,把对象放入spring容器中.要使用两个注解:@Configuration : 放在一个类的上面,表示这个类是作为一个配置文件使用的@Bean : 声明对象的,把这个对象注入到容器中原来的方式我们先看一下之前的spring项目中,bean的注入是如何完成的我们在spring的

2021-12-06 19:12:51 434

原创 初识Springboot

初识SpringBoot为什么要使用Springboot因为Spring,Spring MVC需要使用大量的配置文件(xml文件),还需要配置各种对象,把使用的对象放到spring容器中才能够使用,同时spring集成各种框架,还需要了解其他框架的配置规则,对于开发很不方便.SpringBoot就相当于不需要配置文件的Spring+SpringMVC,常用的框架和第三方库都已经配置好了,拿来就可以使用了.Springboot开发效率高,使用很方便....

2021-12-06 16:08:30 341

原创 Spring基于注解的IOC

Spring基于注解的IOC今天主要分享4类注解用于创建对象的用于注入数据的用于改变作用范围的和生命周期相关的在使用注解的时候,我们需要在主配置文件中加入相应关于注解的约束,然后需要告知spring在创建容器时候需要扫描的包.<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://ww

2021-11-22 18:17:35 519

原创 Spring依赖注入(xml文件的方式)

基于xml的依赖注入IOC的目的是为了降低耦合度,将依赖关系的管理都交给容器管理依赖关系的维护,我们称为依赖注入能注入的数据有三类:基本类型和String其他bean类型(在配置文件中或者注解配置过的bean)复杂类型/集合类型注入的方式有三种:使用构造函数使用set方法使用注解提供构造函数注入使用标签constructor-arg标签出现的位置 : bean的内部标签中的属性 :属性名属性代表含义type用于指定要注入的数据的数据类型,同时该数据

2021-11-22 10:57:11 777

原创 Spring中bean的详解(基于xml文件)

Spring中bean的详解这次分享的内容是Spring中bean的相关细节,主要从三个方面入手:创建bean的三种方式bean对象的作用范围bean对象的生命周期创建Bean的三种方式使用默认构造的方式在spring的配置文件中使用bean标签,配以id和class属性之后,并且没有其他属性和标签时采用的就是这种方式此时如果类中没有默认构造则对象没法创建 <bean id="accountService" class="org.zjb.service.impl.Acc

2021-11-22 09:04:44 1119

原创 Spring基于xml的IOC入门

Spring基于xml的IOC我们通过模拟controller层来测试IOC/** * 模拟业务层 */public class Client { /** * 获取spring的ioc核心容器并根据id获取对象 * @param args */ public static void main(String[] args) { // 1.获取核心容器对象 ApplicationContext ac = new Class

2021-11-19 16:09:55 425

原创 MyBatis注解开发

MyBatis注解开发之前发布的内容都是都是基于xml文件的开发,现在介绍注解的使用在介绍之前,先来说说xml文件和注解开发各有什么优缺点.xml : sql语句和dao的内容分开,耦合度更低,但是比较麻烦注解 : 使用注解开发更加简单,但是由于代码和注解内容在一起,耦合度较高注解开发配置注解开发省略了最复杂的sql映射文件,下面以一个简单的查找全部为例子,罗列一下需要的配置pom.xml文件中加入对应依赖 <!--打包方式--> <packaging>j

2021-11-17 20:45:35 471 2

原创 MyBatis缓存

MyBatis缓存先来回答几个问题:什么是缓存?存在内存中的临时数据为什么使用缓存减少和数据库的交互次数,提高执行效率什么样的数据能使用缓存,什么样的数据不用缓存经常查询且不经常修改的数据适合使用缓存,经常修改的数据不适合使用缓存;由于缓存的使用会产生数据不一致的问题,所以数据的正确性对最终结果影响很大的也不适合使用缓存MyBatis中的一级缓存和二级缓存一级缓存它是指MyBatis中的SqlSession对象的缓存当我们执行查询之后,查询结果会同时存入到SqlSession为我们

2021-11-17 15:42:54 235

原创 MyBatis延迟加载

MyBatis延迟加载首先思考一个问题,在一对多关系中,当我们有一个用户,他有100个账户:在查询用户的时候,要不要把关联的账户查询出来?在查询账户的时候,要不要把关联的用户查询出来?对于上面问题,从内存的角度考虑:由于用户对应多个账户,所以如果我们只是需要用户的信息就没有必要查询出他关联的账户,所以在查询用户时,用户下的账户信息应该是什么时候使用什么时候查询的.由于一个账户只绑定一个用户,内存并不会很大的懒得,所以在查询账户时,账户的所属用户信息应该是随着账户的一起被查询出来的.上面

2021-11-17 10:00:17 609

原创 MyBatis的多表查询

MyBatis的多表查询数据之间有多种对应关系,如一对多(用户和订单),多对一,一对一(人和身份证号),多对多(老师和学生)多表查询例子:用户和账户一个用户可以有多个账户一个账户只能属于一个用户现在我们想要的是在查询所有账户信息的同时可以展示用户的情况.法一创建实体类AccountUser,通过继承的方式让这个类中拥有所有需要的属性;public class AccountUser extends Account { private String username; pri

2021-11-16 19:50:31 897

原创 MyBatis的事务

MyBatis的事务在测试类中我们每次修改完数据库的值后都要手动提交事务sqlSession.commit()能否设置为自动提交?肯定是可以的,我们只需要要在构造sqlSession对象的时候调用调用factory.openSession()的重载方法,传入一个布尔类型的值true即可....

2021-11-15 09:43:54 655

原创 MyBatis使用连接池

MyBatis使用连接池什么是连接池?通俗来讲,连接池就是用于存储连接的容器容器其实就是一个集合对象,该集合必须是线程安全的,不能两个线程拿到同一个连接;该集合还必须实现队列的特性-先进先出.我们在实际的开发中都会使用连接池,因为他可以减少我们获取连接所消耗的时间.MyBatis中的连接池MyBatis中的连接池提供了三种方式的配置配置的位置 :主配置文件sqlMapConfig.xml中的DataSource标签,type属性就是表示采用何种连接方式type属性的取值 :POOL

2021-11-15 09:07:26 1080

原创 MyBatis实现CRUD操作(映射文件的方式)

MyBatis实现CRUD操作(映射文件的方式)前面着重介绍了MyBatis的配置以及语句执行的内部逻辑,现在着眼MyBatis的使用上.增在dao接口中添加对应的接口方法 dao接口 /** * 保存用户信息 * @param user */ void saveUser(User user); xml文件 <!--保存用户--> <insert id="saveUser" parameterType="org.zj

2021-11-14 18:06:36 1434

原创 MyBatis简介

MyBatis简介首先MyBatis是一个持久层的框架,作用是简化java代码对数据库的访问,使开发人员将心思放在sql语句的编写上(这个就是业务)持久层技术解决方案JDBC技术ConnectionPreparedStatementResultSet属于一种规范Spring的JdbcTemplateSpring中对JDBC的简单封装是工具类Apache的DBUtils是工具类以上这些都不是框架.MyBatis框架概述MyBatis是一个优秀的基于java的持久层框架,在它的

2021-11-14 12:05:04 1241

原创 java框架简介

框架简介前段时间,为了面试学习过一波ssm框架的知识,但是由于时间短,很多东西都是只停留于表面,现在秋招结束,有了大量时间重新学习,更加深入的学习ssm相关知识.什么是框架什么是框架?这个问题其实并不好解释,因为没有学过的人即使你说出了框架的标准概念他依然不好理解;学过的人心里自有定数.作为一个已经简单学习过ssm的人,我这样理解:框架其实是某种半成品,是一套组件,它简化开发中一些和业务不相关的事情,让开发人员更集中精力在业务逻辑的处理上.好比我们的任务是表演节目给观众看,框架帮助我们做的是搭建好舞

2021-11-13 20:12:40 214

原创 jQuery实现ajax请求

jQuery实现ajax请求在没学习jQuery之前,发送ajax是比较麻烦的一个过程,需要四个步骤,jQuery将这些个步骤简化了,使用起来更加方便快捷相关函数$.ajax() : 它是jQuery中实现ajax的核心函数$.post() : 这个函数是使用post方式发送ajax请求$.get() : 这个函数是使用get的方式发送ajax请求$.post() 和 $.get() 它们都是在内部调用了 $.ajax() ,所以 $.ajax() 是核心函数$.ajax() 的使用这个

2021-11-13 17:32:29 4008

原创 jQuery绑定事件

jQuery绑定事件语法为$(“选择器”).事件名称(事件的处理函数)对于上面的语法给出解释:$(“选择器”) : 定位dom对象,dom对象可以有多个,这些dom对象都绑定事件了事件名称 : 就是js中的事件去掉on的部分,例如js中的单击事件是onclick,jQuery中的事件名称就是click事件的处理函数 : 就是一个function,当事件发生时就会执行函数的内容例如 : 给id是btn的按钮绑定点击事件 $("#btn").click(function() { alert

2021-11-12 21:32:50 963

原创 jQuery常用函数

jQuery常用函数第一组,改变dom对象属性的方法val操作数组中的DOM对象的value属性$(选择器).val() : 无参形式代表读取数组中第一个dom对象的value属性$(选择器).val(值) : 有参形式调用代表将数组对象中所有的dom对象的value属性统一赋值text操作数组中所有dom对象的文字显示内容属性(类似js中的innertext)$(选择器).text() : 无参形式调用,读取数组中所有dom对象的文字显示内容,将得到的内容拼接成一个字符串返回$(选择器

2021-11-12 21:12:22 1254

原创 jQuery过滤器

jQuery过滤器在定位了dom元素后,根据一些条件筛选dom对象.过滤器也是一个字符串.过滤器不能单独使用,必须和选择器一块用.语法规则基本过滤器选择第一个dom对象语法: $(“选择器:first”)选择最后一个dom对象语法: $(“选择器:last”)选择数组指定下标的dom对象语法: $(“选择器:eq(数组索引)”)选择数组中小于指定索引的所有dom对象语法: $(“选择器:lt(数组索引)”)选择数组中大于指定索引的所有dom对象语法: $(“选

2021-11-11 19:54:49 549

原创 jQuery表单选择器

jQuery表单选择器表单相关元素选择器是指文本框,单选框,复选框,下拉列表等元素的选择方式.该方法无论是否存在表单,均可做出响应的选择.表单选择器是为了能更加容易的操作表单.表单选择器是根据元素的类型来定位的,语法为:$(":type值")如<input type="text"/>$(":text") 选取的是所有的单行文本框.下面是具体的例子:<!DOCTYPE html><html lang="en"><head> <me

2021-11-11 17:12:15 339

原创 jQuery基本选择器

jQuery选择器选择器就是一个字符串,用来定位dom对象的,定位了dom对象,就可以通过jQuery的函数操作domid选择器语法:$("#dom对象的id值")通过dom对象的id定位dom对象,通过id找对象,这个id在当前页面是唯一的,不会重复.class选择器语法:$(".class样式名")class是css中的样式,使用样式名来定位dom对象标签选择器语法:$(“标签名称”)使用标签名称定位dom对象的所有选择器语法:$("*")当前页面中的所有dom对象组合选择器

2021-11-11 11:11:40 260

原创 jQuery入门

jQuery入门一.jQuery是什么?jQuery是一个js库,里面有很多非常好用的方法二.怎么用看一个入门级别的例子<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>第一个例子</title><!-- 使用相对路径,指定jQuery库的位置--> <script type="text/

2021-11-10 20:35:49 242

原创 ajax小练习-BMI网页计算器

使用ajax完成BMI网页计算器创建web项目jsp页面如下<html> <head> <title>局部刷新-ajax</title> <script type="text/javascript"> // 使用内存中的异步对象,代替浏览器发起请求.异步对象使用js创建和管理 function doAjax() { // 1.创建异步对象 var xmlHttp

2021-11-03 20:37:21 919

原创 初识Ajax

初识Ajax介绍ajax前先介绍两个概念,就是 局部刷新 和 全局刷新全局刷新和局部刷新全局刷新:整个浏览器内容被新数据覆盖,在网络上传输大量数据,网络需要加载渲染页面.局部刷新:在浏览器的内部,发起请求获取数据,改变页面的部分内容,其余的页面无需加载和渲染,网络中数据传输量少,给用户的感受好.对于全局刷新,可以使用重定向或者转发的方式刷新页面,展示新的东西;而局部刷新就可以使用ajax来完成.ajax简单介绍ajax (Asynchronous JavaScript and XML 异步的j

2021-11-03 20:18:55 55

原创 aspectJ框架的使用

切面三个关键的要素 1. 切面的功能代码:切面是干什么的 2. 切面的执行时间:使用通知(Advice)表示, 是在目标方法之前还是之后 3. 切面的执行位置:使用切入点(Pointcut)表示切面执行位置从三要素使用aspectJ框架 1. 切面的功能代码, 这个由开发人员自己定义 2. 切面的执行时间, 在规范中叫Advice(通知, 增强) 注解表示 1. @Before 前置通知 ...

2021-05-24 11:12:44 2943

原创 AOP面向切面编程

目录简介AOP与动态代理理解面向切面编程切面怎么理解术语一个切面有三个关键的要素AOP的实现AOP技术在何时使用简介AOP : 面向切面编程, 面向切面编程是从动态代理的角度考虑的程序运行过程由于动态代理的语法很灵活, 很灵活就意味着变数多, 程序员不好掌握, 于是出现了AOPAOP可以认为是在动态代理上进行更进一步的封装, 使其更加规范AOP与动态代理AOP的底层就是采用动态代理模式实现的, 采用了两种代理, 分别是JDK的动态代理, CGLIB

2021-05-24 10:05:14 585

原创 动态代理

目录问题提出有没有什么方式可以不改变原来的代码实现程序的扩充??1. 静态代理2. 动态代理 jdk动态代理实现步骤 CGLIB动态代理简单描述动态代理的好处知乎有一篇很好的文章, 向大家分享https://www.zhihu.com/question/20794107问题提出看下面一个代码例子:SomeService接口public interface SomeService { void doSome(); void doO...

2021-05-24 09:56:54 83

原创 配置文件注入和注解注入的取舍

配置文件注入的优缺点 优点 : 代码和值是完全分开的, 改动时方便 缺点 : 编写繁琐 代码和配置文件分开, 编写时不方便, 可读性不太高注解注入的优缺点 优点 : 注解方便快捷, 语法简单 可读性好 缺点 : 代码结构不好, 既有注解又有代码, 显得太乱, 可以使用${}解耦合 对代码有一定的侵入性使用时机 频繁改动的使用配置文件 ...

2021-05-24 09:49:42 118

原创 基于注解的di

目录使用注解步骤主要注解 1. @Component 2. @Respotory 3. @service 4. @Controller 5. @Value 6. @Autowired 7. @Resource扫描多个包的方式通过注解完成java对象的创建和属性赋值基于注解的di, 通过注解完成java对象的创建和属性赋值使用注解步骤 1. 加入mav...

2021-05-24 09:47:45 179

原创 spring-多配置文件

多配置文件的优势 1. 一个项目的类很多, 单个配置文件不好管理 2. 每个配置文件的大小比较小 3. 避免多人冲突 如果一个项目有多个模块, 一个模块可以定义一个配置文件多文件模式的分配方式 1. 按功能模块, 一个模块一个配置文件 2. 按类的功能, 数据库相关的一个配置文件, 做事务的功能一个配置文件, 做servlet功能的一个配置文件例子 还是student, school 将student划分为一个模块, s...

2021-05-24 09:29:00 219

原创 DI注入

spring中是通过DI实现IOC的, 今天我们来学习DI目录简介 两种手段di的语法分类实现步骤 1. 创建maven项目 2. 加入maven依赖 3. 创建类(接口和它的实现类) 4. 创建spring需要的配置文件 5. 测试spring是否成功创建对象set注入set注入(设值注入)实例 简单类型的set注入实例 引用类型的set注入构造注入 : 在构造实例的同时, 完成...

2021-05-24 09:24:11 1386

空空如也

空空如也

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

TA关注的人

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