![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
xdy1120
这个作者很懒,什么都没留下…
展开
-
编译时常量与运行时常量
常量是程序运行时恒定不变的量,许多程序设计语言都有某种方法,向编译器告知一块数据时恒定不变的。例如C++中的const和Java中的final。根据编译器的不同行为,常量又分为编译时常量和运行时常量。其实编译时常量肯定就是运行时常量,只是编译时常量在编译的时候就被计算执行计算,并带入到程序中一切可能用到它的计算式中。以Java为例,static final int a = 1将是一个编译时...原创 2020-04-21 10:12:40 · 670 阅读 · 0 评论 -
Synchronized
synchronized是Java中的关键字,是一种同步锁修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码;修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;修饰一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;修饰一个类,其作用的范围是synchronized后面括号括起来的部分,作...转载 2019-11-18 18:58:06 · 108 阅读 · 0 评论 -
Java Builder模式
1、Java Builder模式主要是用一个内部类去实例化一个对象,避免一个类出现过多构造函数 public Person(String name) Person(String name, int age) Person(String name, int age, boolean sex)2、Android OkHttp框架中Request、Response类都使用了...转载 2019-11-16 11:40:04 · 242 阅读 · 0 评论 -
java 通过系统变量 设置log4j的输出路径为当前项目路径
1 配置log4jlog4j.rootLogger=debug,info,error,DEBUG,CONSOLElog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.l...转载 2019-10-17 10:43:55 · 1211 阅读 · 0 评论 -
JAVA ResourceBundle 加载外部路径资源文件方式
ResourceBundle读取的文件是在classpath路径下,也就是src或者src目录下,而我们在项目中需要打包,打包后的properties文件在jar中,修改很不方便,我们需要把properties文件放在jar外随时可以修改。1、一般情况下ResourceBundel读取文件方式默认的读取路径是classpath,配置文件名为resourceBundle.properties。在s...转载 2019-10-17 09:28:22 · 890 阅读 · 0 评论 -
Spring MVC
前端控制器:调度器业务数据得抽取同业务数据呈现相分离。front controller(前端控制器、调度器、servlet) 指派 Controller(精通业务)抽取数据,返回后指派View template(精通视图)数据呈现,返回的页面 返回给浏览器...转载 2019-06-13 17:26:32 · 93 阅读 · 0 评论 -
Spring单元测试
下载junit-*.jar并引入工程创建UnitTestBase类,完成对Spring文件的加载和销毁。所有的单元测试类都继承自UnitTestBase类,通过它的getBean方法获取想要得到的对象。子类(具体执行单元测试的类)加注解:@RunWith(BlockJUnit4ClassRunner.class)单元测试方法加注解:@Test右键选择要执行的单元测试方法执行或者执行一个...原创 2019-06-10 14:52:23 · 89 阅读 · 0 评论 -
jsp与spring mvc后台controller间参数传递处理
传递形式:a标签的url表单传递ajax类型传递传递类型:字符串对象数组jsonxml参数传递:a标签url请求传递往往是地址+参数(字符串、对象等)的形式,比如www.baidu.com?id=123456&name=zhangsan&password=666666传递方法是get;此形式传递往往以基本数据类型进行传递。表单请求传递,通...转载 2019-06-16 10:06:16 · 569 阅读 · 0 评论 -
代理模式
接口:public interface Subject{ void doSomething();}目标对象角色:package com.njupt.study.designmodle.proxy;public class RealSubject implements Subject { @Override public void doSomething()...转载 2019-06-11 16:39:40 · 75 阅读 · 0 评论 -
jeesite介绍
JeeSite特点:高效、高性能、强安全性属于开源、JavaEE快速开发平台;JeeSite是在Spring Framework基础上搭建的一个Java基础开发平台,以Spring MVC为模型视图控制器,MyBatis为数据访问层,Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流引擎。是JavaEE界的最佳整合。JeeSite主要定位于信...转载 2019-06-17 15:59:42 · 8233 阅读 · 0 评论 -
mybatis 的一些sql映射写法
select属性:<select id=”selectPerson” parameterType=”int” parameterMap=”deprecated” resultType=”hashmap” resultMap=”personResultMap” flushCache=”false” useCache=”true” timeout=”10000”...原创 2019-06-24 18:20:49 · 577 阅读 · 0 评论 -
MD5加盐的一个简单算法
一般使用的加盐:md5(Password+UserName),即将用户名和密码字符串相加再MD5,这样的MD5摘要基本上不可反查。但有时候用户名可能会发生变化,发生变化后密码即不可用了(验证密码实际上就是再次计算摘要的过程)。因此我们做了一个非常简单的加盐算法,每次保存密码到数据库时,都生成一个随机16位数字,将这16位数字和密码相加再求MD5摘要,然后在摘要中再将这16位数字按规则掺入形成...转载 2019-07-16 10:21:15 · 3471 阅读 · 0 评论 -
面向接口编程的例子
定义一个接口:接口的实现类:使用:原创 2019-06-10 13:50:44 · 624 阅读 · 0 评论 -
Spring应用要点
spring适用范围:构建企业应用(SpringMVC +Spring +Hibernate/ibatis)单独使用Bean容器。(Bean管理)单独使用AOP进行切面处理。其他的Spring功能,如对消息的支持在互联网中的应用...原创 2019-06-10 13:07:27 · 146 阅读 · 0 评论 -
oracle 表
table 表 存在数据库的表空间里。最基本的存储单位。表都是二维结构。数据类型:字符型、数值型、日期型、其他类型。不可变长度字符可变长度字符 n最大4000 nvarchar2的n最大2000数值存放二进制时间戳可存4g,以二进制数据存放可存4g 以字符串数据存放创建表:同一个用户,表明唯一修改表:添加字段:更改字段数据类型:(表中无...原创 2019-06-09 22:03:35 · 183 阅读 · 0 评论 -
mapping.xml POJO的映射文件
Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心。1、parameterType(输入类型)通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型。占位符#{}:#{}可以防止sql注入。在使用时不需要关心参数值的类型,mybatis会自动进行java类型和jdbc类...转载 2019-06-19 15:52:35 · 464 阅读 · 0 评论 -
Servlet 与 表单
Servlet 是在服务器上运行的小程序,一个servlet就是一个Java类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的servlet程序。Tomcat的容器分为4各等级。Servlet容器管理Context容器。一个Context容器对应一个web工程。自定义servlet:1、继承HttpServlet,重写doGet 和 doPost.2、在web.x...转载 2019-06-14 16:42:16 · 372 阅读 · 0 评论 -
SQLPlus登录及使用
几个词的解释:table:表,tablespace:表空间 ,view:视图 ,customer:过程 ,roles:角色 ,object :对象 ,登录语句:切换用户:切换到sys用户connect sys/password as sysdba由于数据库和服务器都在同一台机子上,不需要填写服务名。查看登录用户:show user数据库字典:是数据库提供的表,用...原创 2019-06-09 15:40:43 · 60221 阅读 · 1 评论 -
jeesite 登录模块
一般是在浏览器中输入 http://localhost:8080/xxxx,页面就会自动跳转到登录页面。http://localhost:8080/xxxx/a/login;JSESSIONID=3076c2dba40d45d0b18ce9ba7b482c9f。在spring-mvc.xml中,配置了无Controller的path-view的直接映射<mvc:view-control...转载 2019-06-14 10:16:09 · 1062 阅读 · 0 评论 -
Oracle 用户
默认的系统用户system 和 sys创建用户:通过系统用户登录后 可以创建其他用户。create user test identified by test;alter user test identified by 123456;删除用户:drop user test;若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对...原创 2019-06-08 15:42:47 · 92 阅读 · 0 评论 -
Oracle 安装和使用
下载:Oracle 官网 https://www.oracle.com进入Oracle下载页面 选择下载数据库选择database 11g下载两个文件,解压到一起。开始安装以管理员身份运行安装默认只能使用sys 和 system两个用户,其他的都已锁定。安装成功后:sql plus 工具网页版的管理界面:使用网页版的管理界面,要先启动 Oracl...原创 2019-06-07 22:17:28 · 177 阅读 · 0 评论 -
Spring jar包下载
https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release-local/org/springframework/spring有很多个版本,这里下载最新版本其中 docs:该文件夹下包含Spring的相关文档、开发指南及API参考文档;dist:该文件夹下包含Spring jar包、文档、项...转载 2019-06-13 17:28:26 · 3547 阅读 · 0 评论 -
客户端和服务端鉴权认证
鉴权是指验证用户访问系统的权力session-cookie方式:每当请求到达服务器端的时候,先去查一下该客户端有没有在服务器端创建seesion,如果有则已经认证成功了,否则就没有认证。session-cookie认证主要分四步:服务器在接受客户端首次访问时在服务器端创建seesion,然后保存seesion(我们可以将seesion保存在内存中,也可以保存在redis中,推荐使用后者)...转载 2019-07-16 13:53:24 · 2398 阅读 · 0 评论 -
java反射事例
转自:https://blog.csdn.net/u010687392/article/details/419266951、构造方法的反射import java.lang.reflect.Constructor; public class ReflectConstructor { public static void main(String[] args) throws Except...转载 2019-07-29 10:34:17 · 114 阅读 · 0 评论 -
CPU指令执行
指令集:X86 和 armcpu只能执行所支持的指令集里的指令指令执行过程(根据地址找到指令,取出指令数据,根据指令数据(地址)找到实际数据,根据指令完成加1操作)程序的执行代码执行过程:代码区为汇编指令控制器控制按照代码区指令依次执行eax表示计算器的缓存区...原创 2019-10-10 17:20:23 · 432 阅读 · 0 评论 -
java反射
总结在先:1、类的类型Class2、静态加载类和动态加载类3、反射获取方法、成员变量、构造函数的信息4、反射调用方法5、通过反射认识泛型Class类的类型动态加载类:注意:当Word对象或者Excel对象不存在时,编译无法通过,由于静态加载类的原因换成动态加载后,编译不会报错,由于需要做类型强转,所以Word和Excel实现同一个接口OfficeAble动态加...原创 2019-09-27 17:28:11 · 72 阅读 · 0 评论 -
字节流和字符流
总结在上:1、inputstream,fileinputstream,datainputstream,bufferedinputstream2、outputstream,fileoutputstream,datainputstream,bufferedoutputstream3、Reader ,inputstreamreader,FileReader ,bufferedReader4、Wr...原创 2019-09-26 18:30:08 · 211 阅读 · 0 评论 -
Java 数据结构之集合
转载 2019-07-30 19:49:28 · 101 阅读 · 0 评论 -
分治策略实现快速排序
基本思想是:1.先从数组中取一个数作为基准数。2.分区过程,先从后往前找,直到找到一个比他小的数与之交换,再从前往后找,直到找到一个比他大的数与之交换,这样就将比这个基准数大的数全放到它的右边,小于它的数全放到它的左边,等于它的数位置不变,在这个分区过程结束时,该基准数的位置就处于数组中间的位置。3.再对左右区间重复第二步(递归进行),直到各区间只有一个数,这时排序完毕。public c...转载 2019-07-30 18:15:13 · 1076 阅读 · 0 评论 -
http协议
对于开发,网络通信分为五层:网络上的五层之间遵守的协议不一样,每层都有各自的协议1、物理层 传输媒体与互联设备,媒体包括电缆、光纤、无线信道,设备只计算机和调至调节器之间的设备。该层传输比特流(即二进制流,利用电信号传输二进制) 。2、数据链路层: 处理物理层数据。一组二进制(最长1500字节,过长分开传送) 是一个“帧” 。帧头包含物理地址。3、网络层: 传输IP数据包,放入帧包的数...转载 2019-07-30 15:11:17 · 299 阅读 · 0 评论 -
IO流
转自:https://blog.csdn.net/u010687392/article/details/43567325数据类型:字节流字节输入流 InputStream字节输出流 OutputStream字符流字符输入流 Reader字符输出流 Writer那么字节流和字符流有什么区别呢?一般来说,字符流是为了更好的处理中文字符而出现的,比字节流晚出现,在对中文字符进行...转载 2019-07-30 12:00:59 · 83 阅读 · 0 评论 -
java异常处理
Error:Error类对象由 Java 虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。例如,Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止;还有发生在虚拟机试图执行应用时,如类定义错误(NoClassDefFound...转载 2019-07-29 19:02:17 · 80 阅读 · 0 评论 -
形参数和返回值的多态以及内部类
(1)形式参数:类名:需要该类的对象抽象类名:需要该类的子类对象接口名:需要该接口的实现类对象(2)返回值类型:类名:返回的是该类的对象抽象类名:返回的是该类的子类对象接口名:返回的是该接口的实现类的对象(3)链式编程对象.方法1().方法2()…方法n();这种用法:其实在方法1()调用完毕后,返回一个对象;方法2()调用完毕后,返回一个对象。方法n()调用完毕后,可能是...转载 2019-07-29 18:10:43 · 251 阅读 · 0 评论 -
final、多态、抽象类、接口
1:final关键字(1)可以修饰类,方法,变量。(2)特点:A:它修饰的类,不能被继承。B:它修饰的方法,不能被重写。C:它修饰的变量,是一个常量。D:基本类型 值不能发生改变E:引用类型 地址值不能发生改变,但是对象的内容是可以改变的2:多态(1)同一个对象在不同时刻体现出来的不同状态。(2)多态的前提:A:有继承或者实现关系。B:有方法重写。C:有父类或者父接口引用...转载 2019-07-29 16:25:54 · 79 阅读 · 0 评论 -
继承中的执行顺序
首先说一下,Java中有哪些代码块:普通代码块就是在方法后面使用"{}“括起来的代码片段,不能单独执行,必须调下其方法名才可以执行.静态代码块在类中使用static修饰,并使用”{}“括起来的代码片段,用于静态变量的初始化或对象创建前的环境初始化.同步代码块使用synchronize关键字修饰,并使用”{}“括起来的代码片段.它表示在同一时间只能有一个线程进入到该方法快中,是一种多线程...转载 2019-07-29 15:12:26 · 406 阅读 · 0 评论 -
单例模式
我们也经常遇到类似的情况,为了节约系统资源,有时需要确保系统中某个类只有唯一一个实例,当这个唯一实例创建成功之后,我们无法再创建一个同类型的其他对象,所有的操作都只能基于这个唯一实例。为了确保对象的唯一性,我们可以通过单例模式来实现,这就是单例模式的动机所在。定义:单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类...转载 2019-07-29 14:52:16 · 58 阅读 · 0 评论 -
几个问题的理解
静态方法在类加载时就会加载到静态区,为其分配固定的内存空间,当调用它时加载到栈内存,直到程序结束时销毁。非静态方法则是调用完就销毁//用static修饰的变量是全局变量,只能修饰全局变量,且static变量不能在方法中定义。//静态代码块,用于初始化数据的,只有当类加载的时候运行一次,并且只会运行一次,因为类加载只会加载一次。静态代码块里面的变量是静态变量,对该类的所有对象共享。非静态代码块的...转载 2019-07-29 14:46:00 · 89 阅读 · 0 评论 -
static,this,private关键字
1:成员变量和局部变量的区别(理解)(1)在类中的位置不同成员变量:类中方法外局部变量:方法定义中或者方法声明上(2)在内存中的位置不同成员变量:在堆中局部变量:在栈中(3)生命周期不同成员变量:随着对象的创建而存在,随着对象的消失而消失局部变量:随着方法的调用而存在,随着方法的调用完毕而消失(4)初始化值不同成员变量:有默认值局部变量:没有默认值,必须定义,赋值,然后才能...转载 2019-07-29 14:41:42 · 99 阅读 · 0 评论 -
多态
一、 java 构造方法不等于创建对象而是初始化对象,new 关键字分配内存和创建对象的。二、Test test = new Test();有人用上面的表达式来说明构造方法返回对象引用,这是明显错误的。new关键字有两个作用。一是分配内存,创建对象。二是调用构造方法,完成对象的初始化工作。完成这两步之后,才算创建了一个完整的Java对象。 因此,得到的引用是new指令的结果,不是构造方...转载 2019-07-29 15:26:40 · 61 阅读 · 0 评论 -
java中的堆和栈
基本数据类型是放在栈中还是放在堆中,这取决于基本类型声明的位置。堆中存放:new出来的对象和数组。全局变量全局基本类型,有默认值。在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。不会立即释放栈中存放:局部变量(基本类型、引用类型)当声明的是引用变量时,所声明的变量(该变量实际上是在方法中存储的是内存地址值)是放在方法的栈中,该变量所指向的对象是放在堆类存中的。函数体内定...转载 2019-07-29 11:46:35 · 107 阅读 · 0 评论