- 博客(42)
- 收藏
- 关注
原创 Java---注解与反射 (反射篇) 反射最强大的操作
获取运行时类的完整结构package com.kuang.reflection;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;//获得类的信息public class Test08 { public static void main(String[] args) throws Exception { Class c
2021-08-26 23:47:27 111
原创 Java---注解与反射 (反射篇) 类加载器及内存分析
类加载的内存分析了解:类加载的过程package com.kuang.reflection;public class Test05 { public static void main(String[] args) { A a = new A(); System.out.println(A.m); /* 1。加载到内存,会产生一个 类对应的Class对象 2。链接,链接结束后 m = 0 3。
2021-08-26 23:42:57 135
原创 Java---注解与反射(反射篇) 获取反射对象
获得反射对象package com.kuang.reflection;//什么叫反射public class Test02 { public static void main(String[] args) throws ClassNotFoundException { //通过反射获取类的Class对象 Class c1 = Class.forName("com.kuang.reflection.User"); System.out.print
2021-08-26 23:11:55 143
原创 Java---注解与反射(注解篇)
什么是注解从JDK5.0开始引入的技术作用:不是程序本身,可以对程序作出解释。可以被其他程序(编译器等)读取内置注解@Override 重写的注解,可以帮助你检查@Deprecated 已废弃的,不推荐使用,但可以使用,存在更好的方式@SuppressWarnings("") 镇压警告自定义注解,元注解元注解:负责注解其他注解,一共有4个标准的元注解(meta-annotation)@Target 表示 我们的注解可以用在哪些地方@Retention 表示我们注解
2021-08-26 22:59:15 102
原创 Java 网络编程 TCP UDP URL
TCPTCP实现聊天客户端package com.kuang.lesson02;import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;//客户端public class TcpClientDemo01 { public static void main(String[] args) { Socket soc
2021-08-26 01:21:07 123
原创 Java 网络编程
网络编程概述地球村:你在西安,你的一个美国朋友 通上话了信件:计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,==实现资源共享==和信息传递的计算机系统。网络编程的目的:无线电台…传播交流信息,数据交换。通信想要达到这个效果需要什么:如何准确地定位网络上的一台主机 192.168.16.124:端口号,定位到这个而计算机上的某个资源找到了这个主机,如何传输数据呢?j
2021-08-26 01:20:05 178
原创 Java的IO流
Java IO流概念java的io是实现输入和输出的基础,可以方便的实现数据的输入和输出操作。在java中把不同的输入/输出源(键盘,文件,网络连接等)抽象表述为流(stream)。IO流的分类1.按照流向划分,可以分为输入流和输出流输入流:只能读取数据,不能写入数据。输出流:只能写入数据,不能读取数据。这里的输入输出 涉及方向问题:数据从内存到硬盘,通常称为输出流----也就是说,这里的输入,输出都是从程序运行所在的内存的角度来划分的InputStream OutPutstr
2021-08-25 21:51:52 86
原创 Java多线程-----线程协作
线程协作生产者消费者模式(非GOF23)应用场景:生产者和消费者问题假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,知道仓库中的产品被消费者取走为止如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止JDK提供了几个方法解决线程之间的通信问题解决方式1–>管程法package com.kuang.gaoji;//测试生产者消费者
2021-08-25 02:13:56 198
原创 Java多线程-----线程同步
线程同步并发:多个线程操作同一个资源 同一个对象被多个线程同时操作解决这个问题就需要线程同步,线程同步就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用队列 和 锁由于同意进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了访问冲突问题,为了保证数据在方法中被访问时的正确性,在访问时加入锁机制synchronized,当一个线程获得对象的排它锁,独占资源,其他线程必须等待使用后释放锁即可。形成条件:队列+锁三大不安
2021-08-25 02:12:41 164
原创 Java多线程-----线程的状态,线程的优先级 以及 守护线程
线程的状态停止线程不推荐使用JDK提供的stop()、destroy()方法。【已废弃】推荐线程自己停止下来,这样才是最安全的建议使用 一个标志位进行中指变量,当flag=false,则终止线程运行package com.kuang.state;//测试stop//1.建议线程正常停止--->利用次数,不建议死循环//2.建议使用标志位---> 设置一个标志位//3.不要使用stop或者destroy等过时的方法public class TestStop impl
2021-08-25 02:11:50 172
原创 JDK8新特性 Lambda表达式
JDK8新特性,Lambda表达式函数式接口的定义:任何接口,如果质保函唯一一个抽象方法,那么他就是一个函数式接口对于函数式接口,我们可以通过lambda表达式来创建该接口的对象为什么要使用lambda表达式避免匿名内部类定义过多可以让你的代码看上去很简洁去掉了一堆没有意义的代码,只留下核心的逻辑也许你会说看了Lambda表达式不但不觉得简洁反而更乱,看不懂,那是因为没有习惯,看多了用多了,看习惯了就好了。Lambda表达式属于函数式编程的概念(params)-> expr
2021-08-25 02:09:04 113
原创 一天爆肝Java多线程-----多线程的实现方式
多线程实现方式多任务:比如一边吃饭一边玩手机,一边开车一边打电话+挂点滴,一边拉屎一边玩手机进程和线程进程是执行程序的一次执行过程,他是一个动态的概念。是系统资源分配的单位。通常在一个进程中包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位继承Thread类自定义线程类继承Thread类重写run()方法,编写线程执行体创建线程对象,调用start()方法启动线程package com.kuang.demo01;public clas
2021-08-25 02:08:12 121
原创 重拾JavaSE 一篇文章简单总结
注释单行注释 //多行注释 /* */文档注释/***每一行都有 **/文档注释内可有参数信息比如@author 作者名@version 版本号@param 参数名标识符和关键字Java所有的组成部分都需要名字,类名,变量名以及方法名都被称为标识符所有的标识符都要以字母,美元符号($) ,下划线(_) 开头首字母之后可以是任意字母,美元符号($) ,下划线(_) ,或数字的任何字符不能使用关键字标识符是大小写敏感的数据类型java是一种强类型语言,要求变量的使用要
2021-08-24 10:51:28 136
原创 SSM框架之使用注解开发
SSM框架之使用注解开发注解 小巧,方便,本意是便于开发。但注解缺比较繁多,功能复杂,个数多,学多了以后就比较会容易忘记。这篇的目的就是复习一下SSM框架中之前用到的所有注解MyBatis篇首先就是用于Mapper接口中的4个CRUD注解和@Param注解@Select 注解 同 @Insert @Update @Delete在Mapper接口中,加在声明的方法上,并接上sql语句。@Select("select * from user where id = #{id}")User ge
2021-08-09 15:26:19 1520
原创 SpringMVC 拦截器+文件上传和下载
11、拦截器+文件上传下载11.1、拦截器概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。**过滤器与拦截器的区别:**拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SpringMVC框
2021-08-03 22:47:16 183
原创 SpringMVC Ajax
10、Ajax10.1、Ajax简介AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。Google Suggest能够自动帮你完成搜索单词。Go
2021-08-03 22:46:16 148
原创 SpringMVC 整合SSM开发
9、整合SSM环境要求环境:IDEAMySQL 5.7.19Tomcat 9Maven 3.6数据库环境创建一个存放书籍数据的数据库表CREATE DATABASE `ssmbuild`; USE `ssmbuild`; DROP TABLE IF EXISTS `books`; CREATE TABLE `books` ( `bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id', `bookName`
2021-07-31 23:23:11 386
原创 SpringMVC JSON
8、JSON8.1、什么是JSONJSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字
2021-07-25 02:17:30 103
原创 SpringMVC 跳转和处理前端数据
6、结果跳转方式6.1、ModelAndView设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 .页面拼接成 : {视图解析器前缀} + viewName +{视图解析器后缀}<!-- 视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"
2021-07-24 23:48:26 140
原创 SpringMVC 控制器和RestFul风格
4、控制器这篇来研究研究控制器和请求路径的具体内容控制器Controller控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。(一般使用注解实现)控制器负责解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器类可以包含多个方法在Spring MVC中,对于Controller的配置方式有很多种4.1、接口定义的实现1.新建一个模块,springmvc-04-controller编写web.xml文件,注册前端控制器<?xml ver
2021-07-24 23:46:59 120
原创 SpringMVC 第一个SpringMVC程序!
3、第一个SpringMVC程序配置版:配合上一篇的SpringMVC执行原理,帮助更加深入理解,但实际开发中以注解版为主!1、新建一个Moudle , springmvc-02-hello , 添加web的支持!2、确定导入了SpringMVC 的依赖!3、配置web.xml , 注册DispatcherServlet<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml
2021-07-24 00:46:35 96
原创 SpringMVC 回顾MVC 理解SpringMVC执行原理
1、回顾MVC1.1、什么是MVCssm:mybatis+Spring+SpringMVC MVC三层架构MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向耦合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。**Model(模型):**数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型
2021-07-23 22:26:07 133
原创 Spring 声明式事务
13、声明式事务1、回顾事务把一组业务当成一个业务来做;要么都成功,要么都失败!事务在项目开发中,十分重要,涉及到数据一致性问题,不能马虎!确保完整性和一致性;事务的ACID原则:原子性一致性隔离性多个业务可能操作同一个资源,防止数据损坏持久性事务一旦提交,无论系统发生什么问题,结果都不会被影响,被持久化的写到存储器中!将之前的代码修改一下增加两个接口//添加一个用户public int addUser(User user);//删除一个用于pub
2021-07-22 23:32:46 62
原创 Spring 整合Mybatis的两种方式
12、整合Mybatis导入相关jar包junit<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></dependency>mybatis<dependency> <groupId>org.myba
2021-07-22 23:31:45 114
原创 Spring 代理模式 与 AOP(面向切面编程)
10、代理模式为什么要学代理模式?因为这就是SpringAOP的底层!【SpringAOP和SpringMVC】代理模式的分类:静态代理动态代理10.1、静态代理角色分析:抽象角色:一般会使用接口或者抽象类来解决真实角色:被代理的角色代理角色:代理真实角色,代理真实角色后我们一般会做一些复数操作客户:访问代理对象的人!代码步骤:1.接口//租房public interface Rent { public void rent();}2.真实角色//房东
2021-07-21 23:18:03 222
原创 Spring 使用注解开发 和 使用纯Java的方式来配置Spring
8、使用注解开发在spring4之后,使用注解开发,必须要保证aop的包导入了使用注解需要导入context约束,增加注解的支持!<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="htt
2021-07-21 15:49:15 101
原创 Spring 依赖注入的几种方式 和 Bean的自动装配
6、依赖注入6.1、构造器注入前面已经说过了6.2、Set方式注入【重点】依赖注入:Set注入!依赖:bean对象的创建依赖于容器注入:bean对象中的所有属性,由容器来注入!【环境搭建】1.复杂类型public class Address { private String address; public String getAddress() { return address; } public void setAd
2021-07-21 01:22:42 256
原创 Spring 中 IoC的基础,以及Spring配置
2、IoC基础首先新建一个空白的maven项目2.1、分析实现先用原来的方式写一段代码 .1.先写一个UserDao接口public interface UserDao { public void getUser();}2.再去写Dao的实现类public class UserDaoImpl implements UserDao { @Override public void getUser() { System.out.println("获取用
2021-07-20 19:17:24 70
原创 Spring 什么是spring spring概述
1、Spring概述1.1、简介Spring : 春天 —>给软件行业带来了春天2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术官网
2021-07-20 18:23:32 285
原创 Spring idea中spring配置文件自动检查配置应用程序上下文的操作
IDEA中 Spring配置文件默认会被检查是否配置应用程序上下文idea中默认会自动检查是否配置上下文1.点击蓝色字体2.点击创建新的应用程序上下文3.点击确定就配置完成了但是!开始不知道有这个东西的我 直接点了禁用检查!以下是禁用检查后的恢复办法!1.右上角有个小√,按如图顺序点击2....
2021-07-20 16:57:34 6502 4
原创 Mybatis 缓存
13、缓存 (了解)13.1、简介查询 : 连接数据库 ,耗资源! 一次查询的结果,给他暂存在一个可以直接取到的地方!--> 内存 : 缓存 我们再次查询相同数据的时候,直接走缓存,就不用走数据库了什么是缓存 [ Cache ]?存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存?减少和数据库的交互次数,减少系统开销,提
2021-07-19 21:55:56 47
原创 Mybatis idea插件Lombok 一对多 多对一的处理 动态SQL
9、LombokProject Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging
2021-07-19 01:36:26 187
原创 Mybatis resultMap结果集映射 日志 分页及使用注解开发
5、解决实体类属性名和数据库字段名不一致的问题1、 问题数据库中的字段[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jyIt4C5X-1626545424252)(D:\QQ\1938913894\FileRecv\Mybatis\Mybatis课堂笔记.assets\1569660831076.png)]新建一个项目,拷贝之前的,测试实体类字段不一致的情况public class User { private int id; privat
2021-07-18 02:11:42 294
原创 Mybatis的配置文件解析 生命周期及作用域
4、配置解析1、核心配置文件mybatis-config.xmlMyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 (但秩序知道几个就够用了)configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transact
2021-07-16 23:49:24 144
原创 Mybatis中的增删改查
3、CRUD1、select选择,查询语句;id : 就是对应的namespace中的方法名;resultType:Sql语句执行的返回值!parameterType : 参数类型!编写接口//根据ID查询用户User getUserById(int id);编写对应的mapper中的sql语句<select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">
2021-07-16 20:44:18 68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人