- 博客(38)
- 收藏
- 关注
原创 java注解
注解: 也称元数据注解类型的主要目的是,以标准化和结构化的方式来表示信息1、注解采用能够被Java编译器进行检查、验证的格式,存储有关程序的额外信息2、通过使用注解,可以将这些元数据保存在Java源代码中优点: 1、附属文件的自动生成,例如部署描述符或bean信息类 2、测试、日志、事物语义等代码的自动生成内置注解:指Java语言内部已定义好的注解,可直接使用Java预定义的...
2020-02-25 20:14:22 98
原创 java面向对象
1、类是数据和对数据进行操作的方法的集合体,是一个新的数据类型2、对象是类的实例化类是创建这个类的对象的一种模板对象是由对象的属性、方法和事件所组成①类中定义的数据成员表示了类的对象的一种状态,可认为是类的属性②类中定义的方法表示对类的对象的操作 ③对象间的通信可通过事件的发送和传递来进行,一个事件本身也是一个对象,为事件对象3、基于对象来进行应用问题的分析、思考、设计及代...
2020-02-25 20:09:49 100
原创 成员变量与局部变量的区别
成员变量与局部变量的区别:1、自定义位置的区别:成员变量定义在方法之外,类之内局部变量是声明在方法之内的变量2、作用上的区别:成员变量的作用是描述一类事物的属性局部变量的作用是提供一个变量给方法内部使用的3、生命周期的区别成员变量随着对象的创建而存在,随着对象的消失而消失局部变量是调用到了对应的方法执行到了创建该变量的语句时存在,一旦出了自己的作用域,马上从内存中消失4...
2020-02-25 19:58:55 131
原创 内部类
实例内部类 Ouer.Inner inner=new Outer().Inner(); ①内部类中,可直接访问外部类的所有成员,包括成员变量和成员方法 ②外部类只能通过内部类的实例访问内部类的成员 ③实例内部类中不能定义静态成员,只能定义实例成员匿名内部类 ①匿名类是final类,无名字 ②无法定义构造方法,编译时自动生成构造方法,在其中...
2020-02-24 21:56:00 59
原创 方法重写与重载
方法重写1、子类重写的方法必须与父类被重写的方法具有相同的方法名称、参数列表和相同 或相容的返回值类型,否则不构成重写2、子类重写的方法不能比父类中被重写的方法拥有更严格的访问权限3、父类的静态方法不能被子类写成非静态方法,同样实例化方法不能被重写成静态4、方法重写只针对实例化方法,父类中的静态方法、子类只能隐藏、重载和继承方法重写与方法重载相同与不同点:1、都要求方法同名2...
2020-02-24 21:53:55 121
原创 MySql语法基础
进入数据库系统 cd E:\mysql-8.0.18-winx64\bin;启动mysql服务 net start mysql登录 mysql -u root -p修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxx';查询所有数据库 mysql> show databases;创建数据库 my...
2020-02-24 21:52:40 121
原创 JAVA运行机制
JAVA运行机制两种:1、Java虚拟机 JVM(JAVA Virtual Machine)2、垃圾收集机制 GC(Garbage Collection)1、Java虚拟机 ① JVM可以理解成一个以字节码为机器指令的CPU; ② 编译程序将后缀名为 .java的Java源程序编译为JVM可执行的代码,即后缀名为 .class的Java字节码文件; 运行J...
2020-02-24 21:42:53 73
原创 IO
字节流当不需要对读写的数据进行编码解码的时候使用字节流字节数组输入输出流: ByteArrayInputStream ByteArrayOutputStream 从内存中的字节数组中读、写数据,数据是字节数组文件输入、输出流 FileInputStream FileOutputStream 主要用于二进制文件的读写(图像、音频等)管道流 PipedInputStream...
2020-02-24 21:42:08 70
原创 final关键字
final具有“不可改变”的含义,它可以修饰非抽象类,非抽象方法和变量1、用final修饰的类不能被继承,没有子类2、用final修饰的方法不能被子类的方法重写或隐藏3、用final修饰的变量表示常量,只能被赋值一次4、父类中用private修饰的方法不能被子类的方法重写,因此private类型的方法默认 是final类型的final变量final修饰符可以修饰静态变量、...
2020-02-24 21:40:27 55
原创 continue+return+break
continue: 跳过本次循环语句,继续下一次循环coutinue的作用范围:只能用于循环语句一旦执行了continue语句,那么在循环体内的continue之后的循环语句跳过执行break:用于结束一个循环语句或者是switch语句作用范围:只能用于循环语句或者是switch语句return:返回数据给函数的调用者函数一旦执行到了return关键字,该函数马上结束与brea...
2020-02-24 21:39:34 76
原创 数据库优化
选择合适的字段,比如邮箱字段可以设为char(6),尽量把字段设置为not null,这样查询的时候数据库就不需要比较null值使用关联查询(left join on)查询代替子查询使用union联合查询手动创建临时表开启事物,当数据库执行多条语句出现错误时,事物会回滚,可以维护数据库的完整性使用外键,事物可以维护数据的完整性但却不能保证数据的关联性,使用外键可以保证数据的关联性使用索...
2020-02-24 21:37:12 57
原创 Spring bean的生命周期
Spring Bean的生命周期Bean的建立,由BeanFactory读取Bean定义文件,并生成各个实例Setter注入,执行Bean的属性依赖注入BeanNameAware的setBeanName(),如果实现该接口,则执行其setBeanName方法BeanFactoryAware的setBeanFactory(),如果实现该接口,则执行其setBeanFactory方法Bea...
2020-02-24 19:55:52 87
原创 java堆和栈的区别
每个线程都有自己的栈内存,用于存储本地变量、方法参数和栈调用,一个线程中存储的变量对其它线程是不可见的。而堆是所有线程共享的一片公共内存区域。对象都在堆里创建,为了提升效率,线程会从堆中弄一个缓存到自己的栈,如果多个线程使用该变量可能引发问题,这时volatile变量就可以发挥作用了,它要求线程从主存中读取变量的值。堆:(对象)引用类型的变量,其内存分配在堆上或者常量池(字符串常量、基本数据...
2020-02-24 19:44:58 47
原创 web.xml可以配置哪些内容
web.xm用于配置Web应用的相关信息如: 监听器(listener)[@WebListener] 、过滤器(filter)[@WebFilter]、Servlet [@WebServlet]、相关参数、会话超时时间、安全验证方式、错误页面等配置Spring上下文加载监听器加载Spring配置文件并创建IoC容器<context-param> <param-nam...
2020-02-22 09:49:51 329
原创 SSM整合配置
jdbc.properties#数据库配置文件jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/tmall_ssm?useUnicode=true&characterEncoding=utf8&serverTimezone=UTCjdbc.username=rootjdbc.p...
2020-01-13 17:18:06 117
原创 MyBatis逆向工程mybatis-generator
maven依赖 <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>$...
2020-01-13 17:05:33 101
转载 Spring -> 延迟初始化lazy-init与depends-on
1. lazy-initlazy-init是延迟初始化的意思。spring中容器都是尽早的创建和配置所有的单例bean,因此当容器在启动时,就会去配置和创建单例bean。这样做的好处是在程序刚运行时就可以将配置的错误或者环境问题立刻暴露出来。当然,坏处就是启动时,因为要初始化所有的单例bean,系统开销会很大,启动过程比较慢。如果不想单例bean提前实例化,可以设置lazy-initial...
2020-01-04 17:46:14 121
转载 Spring -> 配置加载指定properties文件
PropertyPlaceholderConfigurer类的作用是加载外部的java Properties文件属性。然后在XML文件中用${key}替换指定的properties文件中的值。这样的话,只需要对properties文件进 行修改,而不用对xml配置文件进行修改。假设在外部添加了jdbc.properties,内容为jdbc.driverClassName = com.mysq...
2020-01-04 17:07:12 702
转载 Spring -> 依赖配置:集合
idref参考https://blog.csdn.net/soonfly/article/details/68928469更改idref后报错,请参考其他文章内部对象https://blog.csdn.net/soonfly/article/details/68928511复合属性https://blog.csdn.net/soonfly/article/details/689285...
2020-01-04 16:57:12 60
转载 Spring -> 四种xml配置注入方式
spring通过xml进行IOC配置的方式1. setter注入public class Order { /*要注入的对象*/ private NotifyService notifyservice; /*notifyservice不是在内部new()出来的, 而是通过指定方法传进来的,也就是我们说的注入。这里是setter方法注入*/ publi...
2020-01-04 16:11:18 513
转载 Spring -> 实例化上下文对象及加载多个配置文件
1. 读取配置文件几个常用的类: ClassPathXmlApplicationContext从类路径下的xml配置文件中加载上下文定义. ,以classpath为当前路径 FileSystemXmlApplicationContext读取文件系统下xml配置文件并加载 ,直接用文件系统的当前路径与ClassPathXmlApplicationContext区别只在于查找配置文件...
2020-01-04 15:32:55 192
原创 java开发各类文件下载路径
Springhttps://repo.spring.io/libs-release-local/org/springframework/spring/下载完成得到一个spring-framework-x.x.x.RELEASE-dist.zip压缩文件解压,将libs文件夹下所需模块的class文件的JAR包复制添加到项目的类加载路径中commons除此之外,spring的核心容器...
2020-01-03 21:40:22 276
转载 对IOC和DI的通俗理解
1.1、IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下: ●谁控制谁,控制什么:传统Ja...
2020-01-03 21:23:27 181
转载 SpringMVC -> 文件上传下载及静态资源处理
一、文件上传1.引入相关jar包maven坐标 <!-- fileUpload 解析上传的文件用到的jar --><dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <...
2020-01-03 19:48:30 129
转载 SpringMVC -> 处理及响应请求
一、基本操作1.响应请求的方式序号响应方式说明1不响应void+@ResponseBody注解2ModelAndView通过setViewName方法3直接指定响应页面返回值为String类型,返回结果指定跳转地址4重定向跳转地址前加redirect:前缀即可5HttpServletRequest和HttpServletRespo...
2020-01-03 17:59:45 116
原创 SpringMVC 配置
web.xml配置contextConfigLocation 指定Spring Ioc容器需要读取的XML文件路径ContextLoaderListener Spring监听器Spring MVC在Web容器中的启动类,读取applicationContext.xml负责Spring Ioc容器在Web上下文中的初始化ServletContextListener接口有...
2020-01-03 13:23:06 100
原创 SpringMVC+注解
1.Spring MVC概述:Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。Spring MVC主要由DispatcherServle...
2020-01-03 09:55:17 101
原创 SpringMVC 表单
SpringMVC 表单文本框标签<form:label path="name">姓名:</form:label>文本框 <form:input />标签<form:input path="name" />//html<input id="name" name="name" type="text" value=""/>...
2020-01-02 17:10:05 131
原创 mysql8.0修改编码
mysql8.0修改编码```sql[mysql]# 设置mysql客户端默认编码default-character-set=utf8[mysqld]#设置端口号port = 3306# 设置mysql8.0的安装目录basedir=E:\\mysql-8.0.18-winx64datadir=E:\\mysql-8.0.18-winx64\\data# 服务端默认utf8...
2019-12-27 21:39:23 2012
原创 jsp 四大作用域及九大内置对象
四个作用域:request域、session域、application域、page域九大内置对象1 out:页面输出2 page:当前页面3 pageContext:当前上下文(编译之后的当前页面)4 request:请求5 response:响应6 session:会话7 application(ServletContext):tomcat启动时自动创建,tomcat停止时,自动...
2019-12-25 14:46:13 62
原创 servlet常用方法
编码/* 修改编码 */修改POST方式参数编码request.setCharacterEncoding("utf-8");修改GET方式参数编码需要一个个的手动去更改String name =new String(name.getBytes("ios-8859-1"),"utf-8");//项目解决编码问题,在每个servlet开头写下面两句request.setCharacter...
2019-12-24 21:31:45 115
原创 tomcat端口占用解决办法
windows查看端口占用netstat -ano|findstr "80"根据pid查找占用端口的程序tasklist|findstr "14860"杀死进程taskkill /f /t /im java.exe或者taskkill /f /pid 14860
2019-12-24 16:54:30 75
原创 请求重定向和请求转发的区别
RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件;而HttpServletResponse.sendRedirect 方法还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。 如果传递给HttpServletResponse.sendRedirect 方法的相对URL以“/”开头,它是相对于整个WEB站点的...
2019-12-21 16:15:46 175
转载 Statement 和 PreparedStatement之间的关系和区别
Statement 和 PreparedStatement之间的关系和区别.关系:PreparedStatement继承自Statement,都是接口区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高详解:1、PreparedStatement:表示预编译的 SQL 语句的对象。接口:public interface PreparedSt...
2019-12-18 14:45:12 119
原创 JDBC连接方式
import java.sql.Connection;import java.sql.Driver;import java.sql.DriverManager;import java.util.Properties;import org.junit.Test;public class MysqlTest {private String url=“jdbc:mysql://localho...
2019-12-18 14:08:49 68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人