个人总结
黑夜不黑
好好生活
展开
-
Mybaties中实现模糊查询的方法和注意事项
1.在xml文件中模糊查询方法语句设为 SELECT * FROM emp WHERE ename LIKE CONCAT(CONCAT(‘%’, #{text}), ‘%’); 注意事项:concat方法在低版本的mysql中可能不识别会报错。在xml文件中模糊查询方法语句设为SELECT * FROM tableName WHERE name LIKE ‘%${text}%’; 万能...原创 2018-08-12 23:39:37 · 354 阅读 · 0 评论 -
多线程学习一
1.理解线程对象和线程在JAVA中,当JVM环境中运行一个程序时,JVM最先会产生一个主线程,由它来运行指定程序的入口点在这个程序中,即主线程从main方法开始运行。当main方法结束后,主线程运行完成。线程对象是JVM产生的一个普通的Object子类,而线程是CPU分配给这个对象的一个运行过程。 class MyThread extends Thread{ public vo...原创 2018-10-22 13:46:07 · 96 阅读 · 0 评论 -
多线程学习二
1.理解并发和并行在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调试机制有多种形式(大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的线程让其运行的方式就叫并发(concurrent)。而在多CPU系统中,可以让两个以上的线程同时运行,这种可以同时让两个以上线程同时运行的方式叫做并行(parallel)。2.sleep(),join(),yield(),wait(...原创 2018-10-22 14:51:31 · 147 阅读 · 0 评论 -
字符串学习
1.切割字符串split()与StringTokenizer()的区别StringTokenizer()对于java默认的分隔符“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”都不需要进行转义就可以直接对字符串进行切割,但对"+"、"*"、"$"、""这些符号同样需要转义后才能切割;而split()对上述所有的符号都要先转义后才能对字符串进行切割。public ...原创 2018-10-22 16:11:11 · 136 阅读 · 0 评论 -
子类继承父类后相应的输出顺序
用父类实例出一个子类对象,举例:public class A { //父类静态代码块 static { System.out.println("父类静态代码块执行了"); } //父类构造函数 public A(){ System.out.println("父类构造函数执行了"); }}public class B extends A{ //子类的静态代码块 sta...原创 2018-10-22 16:45:47 · 3669 阅读 · 0 评论 -
浅谈Java的一些概念
值传递与引用传递首先声明:严格意义上来说,Java中所有方法参数都是传值。因为即使是传递的参数是对象的引用时,引数本身也是传值的。所有基本类型都是传值的。传值:被传入的参数被视为内部的局域变量,其变化不影响外部变量的原始值。传引:对于引数本身来讲也是传值的,但是在方法内部若对引数所指向的对象属性有改变,则会直接实时地影响所指向的对象属性。阻塞和非阻塞,同步和异步阻塞:是指请求结果返回之...原创 2018-10-25 16:30:30 · 191 阅读 · 0 评论 -
数据库原理学习一之索引
官方解释:索引就像书的目录, 通过书的目录就准确的定位到了书籍具体的内容1.索引类型索引分为聚集索引和非聚集索引,但不论是就聚集索引还是非聚集索引最终都会利用主键通过聚集索引来定位到数据。区别在于通过聚集索引可以查到需要查找的数据, 而通过非聚集索引可以查到记录对应的主键值 , 再使用主键的值通过聚集索引查找到需要的数据2.索引原理首先声明:平衡数不是二叉树,平衡树又叫B-tree。若不...原创 2018-10-24 11:43:27 · 210 阅读 · 0 评论 -
数据库原理学习二之数据库优化
数据库三范式第一范式:1NF是对属性的原子性约束,要求属性(列)具有原子性,不可再分解;(只要是关系型数据库都满足1NF)第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识(如主键),即实体的惟一性;第三范式:3NF是对字段冗余性的约束,它要求字段没有冗余。 没有冗余的数据库设计可以做到。(但在实际开发中,允许冗余的存在)。Mysql的优化技术对数据库进行优化主要从四个方面入手:...原创 2018-10-30 15:43:50 · 160 阅读 · 0 评论 -
数据库原理学习三之三种常用数据库的分页查询
Oracle分页:ORCALE数据库实现分页查询可以使用使用rownum 伪列方法。--伪列 select emp.*,rownum from emp;--分页:n页,一页a列 select * from emp where rownum between a*n-2 and a*n--示例:查询工资4到第6名的员工信息 select * from (se...原创 2018-10-30 16:15:54 · 543 阅读 · 0 评论 -
多线程学习四:并发编程中的原子性、可见性、有序性
在并发编程中,我们要保证原子性、可见性、有序性,否则无法保证多线程最终的正确性。首先我们要对java内存模型有一个大致的概念,每一个线程都有独属于该线程的工作内存,当线程访问资源时先把资源从主存中拷贝一份到工作内存中,再执行操作,把结果先写入工作内存,再写入主存。Java内存模型规定所有的变量都是存在主存当中,每个线程都有自己的工作内存。线程对变量的所有操作都必须在工作内存中进行,而不能直接对主存...原创 2018-11-15 16:00:50 · 222 阅读 · 0 评论 -
金额、数字格式化
情景:客户要求前台显示的金额数值每三位有逗号隔开,如余额100000000.78元,要求显示为100,000,000.78元,提高用户体验度。办法:在从数据库取数据时把取到的数据格式化,如取余额balance,select to_char(balance,'FM999,999,999,990.00') from member_info;当balance为98778.789时,界面显示为...原创 2019-07-24 14:59:46 · 817 阅读 · 0 评论 -
自定义注册、登录的校验规则(自定义validate校验规则)
在做项目时,有一个校验用户信息的步骤,分为前端校验和后台校验,前端校验已经存在了许多插件方便了我们的使用,如validate。然而有些时候我们要用的校验规则插件中并没有,这就需要我们自定义校验规则了。接下来讲述一下validate的使用和自定义规则进行验证。validate进行表单验证的格式为:$("form表单的选择器”).validate(json数据格式);json数据格式如下所示:{...原创 2018-09-22 23:10:27 · 1904 阅读 · 0 评论 -
注解学习
1.注解是什么 注解是具有一定功能和一定格式的语法,底层由反射机制实现,若要实现自定义注解,通过关键字@interface定义。 2.注解的优缺点 优点:开发效率高 成本低 缺点:耦合性大 并且不利于后期维护 注:注解是给JVM机看的,用于编译;而注释是给程序员看的,用于后期维护能够知道该代码的作者,功能等信息。 3.自定义注解在解析时要使用到元注解,元注解就是注解的注解,用于限制定义...原创 2018-09-14 12:44:51 · 103 阅读 · 0 评论 -
前端注册表省市二级联动总结
在省市二级联动中应注意: js所创建的dom节点要先转为jQuery对象后才能操作jQuery方法,jQuery能实现的js都能实现,但js能实现的jQuery不一定能实现。 步骤如下: (function(){         &nbsp原创 2018-08-22 19:02:21 · 309 阅读 · 0 评论 -
xml约束及xml解析总结
xml有两种约束:DTD约束及schema约束 schema所具有的功能比DTD更为强大,schema有名称空间对同名的元素可以进行区分, schema可以更好的支持xml的语法规则,W3C推荐用schema替代DTD。 一般引入schema都要以下三个(包括自定义的约束) ...原创 2018-08-27 21:44:12 · 227 阅读 · 0 评论 -
事物学习总结
事物的特性有:原子性、一致性、隔离性、持久性 事物的隔离级别有四种: 甲向乙转账1000元为例说明: 1.read uncommitted(读取尚未提交的数据):乙会读到甲未提交的数据,即乙读到余额加了1000元,甲一旦回滚钱就会回甲那里,乙的余额又会变回去,这即是脏读; 2.read committed(读取提交后的数据):乙只能读到甲提交后的数据,甲不提交乙的余额并不会发生变化。在Or...原创 2018-08-28 17:43:56 · 173 阅读 · 0 评论 -
html,javascript,java的自我总结
html是一种超文本标记语言,并非编程语言,无需编译器编译在浏览器解析后即可读取。javascript是一种轻量级的编程语言,通常嵌入在html页面中实现界面中的一些交互行为。java是一种强大的计算机编程语言,拥有跨平台、面向对象、泛型编程等特性。Java的运行一般是先将源码编译为字节码文件,然后依赖于各个平台的JVM机解释执行,即是所谓的一次编写,到处运行。...原创 2018-08-21 17:17:49 · 174 阅读 · 0 评论 -
手写自定义连接池,解析c3p0、dpcp数据连接池的原理
手写连接池的类主要是针对DataSource接口中的getConnection()方法的重写以及回收connection对象,即不再是jdbc连接数据库中直接close()关闭connection对象。 手写连接池的步骤如下: //1.创建1个容器用于存储Connection对象,LinkedList更方便执行插入删除操作 private static LinkedList pool...原创 2018-08-25 16:20:28 · 445 阅读 · 0 评论 -
Linux配置静态IP
在新安装的Linux系统中我们要先配置静态IP才能连接到外网 进入配置文件后修改配置文件如下图所示: 上图中的BOOTPROTO=static指的是设置为静态IP ONBOOT=yes指的是开机自动启动 TYPE=Ethernet 指的是网络类型 IPADDR=192.168.116.136 指的是IP地址 NETMASK=255.255.255.0 指的是子掩码 GATEW...原创 2018-09-04 12:00:41 · 216 阅读 · 0 评论 -
Zookeeper在CentOS7系统上的安装
1.进入目录:cd /usr/local/common 下载:wget http://mirrors.shu.edu.cn/apache/zookeeper/stable/zookeeper-3.4.12.tar.gz 解压:tar xzvf zookeeper-3.4.12.tar.gz 重命名文件:mv zookeeper-3.4.12 zookeeper 进入zookeeper目录...原创 2018-09-04 18:09:02 · 147 阅读 · 0 评论 -
CentOS7安装Redis及设置密码
1.设置 Redis 仓库:yum install epel-release 2.安装 Redis : yum install redis 3.启动 redis : service redis start 4.设置开机自动启动:chkconfig redis on 5.打开防火墙端口: firewall-cmd –zone=public –add-port=6379/tcp –perman...原创 2018-09-06 14:56:58 · 4834 阅读 · 1 评论 -
类加载器学习
1.什么是类加载器? 答:类加载器就是虚拟机中的一个组件,用于把编译器编译后的字节码文件(.class文件)加载到Java运行内存(jre)中形成字节码对象(class对象)。 注:Java源文件-jvm编译器->Java字节码文件-JVM类加载器 ->Java字节码对象 2.类加载器的种类: (1)BootStrap:引导类加载器,用于加载基础文件 (2)E...原创 2018-09-12 11:02:02 · 112 阅读 · 0 评论 -
ajax局部刷新
Ajax运行原理:通过ajax向页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面功能。即实现了数据的异步提交(局部刷新)。 Js原生ajax学习:以验证注册名为例 (function(){(functi...原创 2018-09-12 11:51:29 · 306 阅读 · 0 评论 -
Oracle如何修改用户名
首先在sql/plus上是无法修改的,所以打开sqlplus以sysdba的身份登录:sys/sys@orcl as sysdba查询到要更改的用户的信息:select user#,name from user$;找到要更改的用户的user#,进行对用户名的更改并提交(修改的用户名必须大写,否则第5步会报用户名PAES不存在):update user$ set name = ...原创 2019-07-25 10:51:15 · 1867 阅读 · 0 评论