java注解 注解: 也称元数据注解类型的主要目的是,以标准化和结构化的方式来表示信息1、注解采用能够被Java编译器进行检查、验证的格式,存储有关程序的额外信息2、通过使用注解,可以将这些元数据保存在Java源代码中优点: 1、附属文件的自动生成,例如部署描述符或bean信息类 2、测试、日志、事物语义等代码的自动生成内置注解:指Java语言内部已定义好的注解,可直接使用Java预定义的...
java面向对象 1、类是数据和对数据进行操作的方法的集合体,是一个新的数据类型2、对象是类的实例化类是创建这个类的对象的一种模板对象是由对象的属性、方法和事件所组成①类中定义的数据成员表示了类的对象的一种状态,可认为是类的属性②类中定义的方法表示对类的对象的操作 ③对象间的通信可通过事件的发送和传递来进行,一个事件本身也是一个对象,为事件对象3、基于对象来进行应用问题的分析、思考、设计及代...
成员变量与局部变量的区别 成员变量与局部变量的区别:1、自定义位置的区别:成员变量定义在方法之外,类之内局部变量是声明在方法之内的变量2、作用上的区别:成员变量的作用是描述一类事物的属性局部变量的作用是提供一个变量给方法内部使用的3、生命周期的区别成员变量随着对象的创建而存在,随着对象的消失而消失局部变量是调用到了对应的方法执行到了创建该变量的语句时存在,一旦出了自己的作用域,马上从内存中消失4...
内部类 实例内部类 Ouer.Inner inner=new Outer().Inner(); ①内部类中,可直接访问外部类的所有成员,包括成员变量和成员方法 ②外部类只能通过内部类的实例访问内部类的成员 ③实例内部类中不能定义静态成员,只能定义实例成员匿名内部类 ①匿名类是final类,无名字 ②无法定义构造方法,编译时自动生成构造方法,在其中...
方法重写与重载 方法重写1、子类重写的方法必须与父类被重写的方法具有相同的方法名称、参数列表和相同 或相容的返回值类型,否则不构成重写2、子类重写的方法不能比父类中被重写的方法拥有更严格的访问权限3、父类的静态方法不能被子类写成非静态方法,同样实例化方法不能被重写成静态4、方法重写只针对实例化方法,父类中的静态方法、子类只能隐藏、重载和继承方法重写与方法重载相同与不同点:1、都要求方法同名2...
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...
JAVA运行机制 JAVA运行机制两种:1、Java虚拟机 JVM(JAVA Virtual Machine)2、垃圾收集机制 GC(Garbage Collection)1、Java虚拟机 ① JVM可以理解成一个以字节码为机器指令的CPU; ② 编译程序将后缀名为 .java的Java源程序编译为JVM可执行的代码,即后缀名为 .class的Java字节码文件; 运行J...
IO 字节流当不需要对读写的数据进行编码解码的时候使用字节流字节数组输入输出流: ByteArrayInputStream ByteArrayOutputStream 从内存中的字节数组中读、写数据,数据是字节数组文件输入、输出流 FileInputStream FileOutputStream 主要用于二进制文件的读写(图像、音频等)管道流 PipedInputStream...
final关键字 final具有“不可改变”的含义,它可以修饰非抽象类,非抽象方法和变量1、用final修饰的类不能被继承,没有子类2、用final修饰的方法不能被子类的方法重写或隐藏3、用final修饰的变量表示常量,只能被赋值一次4、父类中用private修饰的方法不能被子类的方法重写,因此private类型的方法默认 是final类型的final变量final修饰符可以修饰静态变量、...
continue+return+break continue: 跳过本次循环语句,继续下一次循环coutinue的作用范围:只能用于循环语句一旦执行了continue语句,那么在循环体内的continue之后的循环语句跳过执行break:用于结束一个循环语句或者是switch语句作用范围:只能用于循环语句或者是switch语句return:返回数据给函数的调用者函数一旦执行到了return关键字,该函数马上结束与brea...
数据库优化 选择合适的字段,比如邮箱字段可以设为char(6),尽量把字段设置为not null,这样查询的时候数据库就不需要比较null值使用关联查询(left join on)查询代替子查询使用union联合查询手动创建临时表开启事物,当数据库执行多条语句出现错误时,事物会回滚,可以维护数据库的完整性使用外键,事物可以维护数据的完整性但却不能保证数据的关联性,使用外键可以保证数据的关联性使用索...
Spring bean的生命周期 Spring Bean的生命周期Bean的建立,由BeanFactory读取Bean定义文件,并生成各个实例Setter注入,执行Bean的属性依赖注入BeanNameAware的setBeanName(),如果实现该接口,则执行其setBeanName方法BeanFactoryAware的setBeanFactory(),如果实现该接口,则执行其setBeanFactory方法Bea...
java堆和栈的区别 每个线程都有自己的栈内存,用于存储本地变量、方法参数和栈调用,一个线程中存储的变量对其它线程是不可见的。而堆是所有线程共享的一片公共内存区域。对象都在堆里创建,为了提升效率,线程会从堆中弄一个缓存到自己的栈,如果多个线程使用该变量可能引发问题,这时volatile变量就可以发挥作用了,它要求线程从主存中读取变量的值。堆:(对象)引用类型的变量,其内存分配在堆上或者常量池(字符串常量、基本数据...
web.xml可以配置哪些内容 web.xm用于配置Web应用的相关信息如: 监听器(listener)[@WebListener] 、过滤器(filter)[@WebFilter]、Servlet [@WebServlet]、相关参数、会话超时时间、安全验证方式、错误页面等配置Spring上下文加载监听器加载Spring配置文件并创建IoC容器<context-param> <param-nam...
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...
MyBatis逆向工程mybatis-generator maven依赖 <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>$...
Spring -> 延迟初始化lazy-init与depends-on 1. lazy-initlazy-init是延迟初始化的意思。spring中容器都是尽早的创建和配置所有的单例bean,因此当容器在启动时,就会去配置和创建单例bean。这样做的好处是在程序刚运行时就可以将配置的错误或者环境问题立刻暴露出来。当然,坏处就是启动时,因为要初始化所有的单例bean,系统开销会很大,启动过程比较慢。如果不想单例bean提前实例化,可以设置lazy-initial...