![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
不会修电脑的程序员
这个作者很懒,什么都没留下…
展开
-
JVM内存中各部分存放的内容
虚拟机内存中主要有程序计数器、虚拟机栈、本地方法栈、堆和方法区。程序计数器和虚拟机栈都是线程“私有”的内存。程序计数器是一块比较下的内存空间,主要村放代码执行的位置。分支、循环、跳转、异常处理、线程恢复等基础功能都需要一来这个计数器来完成。例如,多线程中,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,他们之间互不影响,独立存储。经常有人把j原创 2018-01-18 09:53:54 · 4475 阅读 · 0 评论 -
关于虚拟机中堆内存结构的详解
新建的对象会放在年轻带里面,年轻代填满会触发minor gc,minor gc会清除包括s0,s1在内的所有年轻代里面不用的垃圾。Eden(伊甸园)里面没有被清除的对象就是幸存下来的,就会被放入s0或者s1中,每次所有幸存对象必须放入一个survivor space区域,意味着必须有一个survivor space是空的。对象上面的数字代表他的年龄,即幸存的次数,每次幸存以后都会换survivor原创 2018-01-18 10:05:22 · 1990 阅读 · 0 评论 -
【spring】事务管理的概念和特性
事务就是用来解决类似问题的。事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。 在企业级应用程序开发中,事务管理必不可少的技术,用来确保数据的完整性和一致性。 事务有四个特性:ACID原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动转载 2018-01-18 15:17:49 · 440 阅读 · 0 评论 -
having和where的区别
having 和where 都是用来筛选用的having 是筛选组 而where是筛选记录他们有各自的区别1》当分组筛选的时候 用having2》其它情况用where用having就一定要和group by连用,用group by不一有having (它只是一个筛选条件用的)原创 2018-01-18 15:19:44 · 2245 阅读 · 1 评论 -
【oracle】oracle的两种工作方式
简单提一下关于oracle的两种工作方式Dedicated Server 和 Shared Server在实际的工作中我们基本上都在用Dedicated Server专用的服务器模式而不用Shared Server模式正常的情况一个用户的连接,连上来以后针对这个连接专门的启一个oracle的serverprocess用户连接和serverprocess对原创 2018-01-18 15:23:15 · 1336 阅读 · 0 评论 -
【JVM】创建对象时虚拟机做了什么?
我们都知道,在语言层面上,创建对象通常仅仅是一个new关键字而已。但是在虚拟机中,对象的创建是怎样的一个过程呢?虚拟机在遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程(具体过程这里不做详解)。在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象原创 2018-01-19 16:09:06 · 429 阅读 · 0 评论 -
实现前台表格中相同数据单元格的合并
前些天接到组长分配的任务,让我这个小菜鸟实现单元格的合并。刚开始觉得很复杂,可是仔细思考过后其实还是很简单的,下面就和大家分享一下自己每次的方法和存在的缺点以及如何修改和最终的成品,希望能够对大家有些帮助。首先合并单元格,既然是合并,肯定是要把相同的数据用一个单元格来完成。就是把这样的格式合并成这样的边框比较浅,图片可能不太清楚,但是能看得出来左边是三个单元格,右边是合并成了一个。要想实现这样的效...原创 2018-02-27 14:40:06 · 4518 阅读 · 1 评论 -
【Easyui】解决未对form表单数据进行校验直接就可以提交的问题
今天遇到了一个问题,完成登录和注册功能时,使用easyui的required:true,validType:'length[6,18]'等等各种校验textbox时,点击登录或者注册按钮,未输入任何值也能提交,然后后台报错。后来发现自己使用的按钮类型为submit,而且easyui并不主动提供校验form表单所有数据之后再提交的方法,但是有校验所有数据是否符合要求的方法。解决这个问题首先要清楚,s...原创 2018-02-08 11:08:52 · 2995 阅读 · 0 评论 -
Struts2和SpringMVC的比较
1.Struts2是一个请求一个Action,SpringMVC是单例模式的。2.Struts2是基于类的横切,SpringMVC是基于方法的。3.SpringMVC开发速度和性能较优于Struts2,流程更容易理解。4.Struts是返回真正的视图,SpringMVC返回的是逻辑视图,然后通过视图解析器将逻辑视图解析为真正的视图发送给前端。5.Struts2可以在控制层通过set和get方法接收...原创 2018-03-13 09:25:11 · 196 阅读 · 0 评论 -
Date( )日期格式Sun Sep 30 00:00:00 CST 2012转换成yyyy-mm-dd
Date date = new Date();SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");String dt = simpleDateFormat.format(date);原创 2018-03-26 11:48:04 · 33516 阅读 · 0 评论 -
堆、栈和常量池的比较
JAVA中,有六个不同的地方可以存储数据:1.寄存器:最快的存储区,位于不同于其他存储区的地方——处理器内部。寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。2. 栈:存放基本类型的变量数据和对象的引用。位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放...转载 2018-08-06 09:11:11 · 1374 阅读 · 1 评论 -
PreparedStatement和Statement的区别
使用Statement的时候:Class.forName(driver);conn = DriverManager.getConnection(url, username, password);stmt = conn.createStatement(); //没有预编译sqlString sql;sql="select * from stu_info";Resu...转载 2018-08-06 09:13:55 · 233 阅读 · 0 评论 -
【oracle】学习笔记
DBMS_METADATA 查看数据库表结构select dbms_metadata.get_ddl(相当于一个获取DDL的函数)('TABLE','表名')(都要大写)from dual;(此方法可以同样查询存储过程等) 表结构显示不完全时需要设置显示大小:set long999;set linesize 200;set pagesize 0; 主键三个特点:非空...原创 2018-08-06 09:18:27 · 215 阅读 · 0 评论 -
Mybatis学习笔记
配置文件中类的全名用.分隔 xml文件的名字用/分隔 手动配置mybatis的步骤:需要先配置mybatis.xml,mybatis.xml里面的<mappers>标签用来加载映射文件然后写实体类和实体类对应的mapper(映射)文件(可自动生成)编写测试类测试:加载Mybayis.xml配置文件,利用Resources类将配置文件转化为流的形式Re...原创 2019-01-14 16:25:00 · 299 阅读 · 0 评论 -
【mysql】mysql中char、varchar和sqlserver中char、varchar、nvarchar的比较
首先需要说明的是mysql中只有char和varchar,并没有nvarchar这种类型。但是sqlsrver中char、varchar和nvarchar都是存在的。先来说说char,char不管在mysql还是sqlserver中,都是一种定长存储类型,所谓定长存储类型,就是存储的字符没有达到定义的长度,就会以英文空格字符的形式填满。但是mysql中varchar不是这样。比如你定义va原创 2018-01-18 09:41:42 · 2786 阅读 · 0 评论 -
【JSP】转发和重定向的区别
转发(forward)执行forward之后依然是上一次请求。forward的目标页面可以访问原请求的请求参数,因为依然是同义词请求,所有原请求的请求参数,request范围的属性全部存在。地址栏里请求的URL不会改变。重定向(redirect)执行redirect之后生成第二次请求。redirect的目标页面不能访问原请求的请求参数,因为是第二次请求了,所以原请求的请原创 2018-01-17 17:34:32 · 862 阅读 · 0 评论 -
Ajax的type四种取值区别
1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行原创 2017-10-12 11:14:06 · 2314 阅读 · 0 评论 -
如何判断对象是否还“活着”,是否需要清除?
判断对象是否还活着的第一种方法是引用计数算法,内容是:给对象添加一个引用计数器,每当有一个地方引用他时,计数器值就加1。引用失效时。计数器值就减1。任何时刻的计数器为0的对象就是不可能再被使用的。但是主流的java虚拟机里面没有选用引用计数算法来管理内存,其中最主要的原因是它很难解决对象之间循环引用的问题。举个简单的例子,对象A和B都有字段instance,赋值令A.instance = B及B.原创 2018-01-24 10:14:58 · 347 阅读 · 0 评论 -
【sqlserver】聚集索引和非聚集索引的比较
聚集索引是一种对磁盘上实际数据重新组织以按指定的一列或者多列值排序。像我们用到的汉语字典,就是一个聚集索引。换句话说就是聚集索引会改变数据库表中数据的存放顺序。非聚集索引不会重新组织表中的数据,而是对每一行存储索引列值并用一个指针指向数据所在的页面。(一个值指向多行等于该值的数据)。sqlserver默认情况下建立的索引是非聚集索引。非聚集索引在排序时会对所有的取值进行排序,然后快速找到该值对原创 2018-01-31 16:10:22 · 3605 阅读 · 0 评论 -
@responseBody注解
1、 @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意的是,在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。2、 @RequestMap原创 2017-10-11 11:45:23 · 178 阅读 · 0 评论 -
Mybatis与Ibatis比较
1、Mybatis实现了接口绑定,使用更加方便。 在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件, 而Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生成接口的具体实现,使用起来变得更加省事和方便。 这可以说是Mybatis最重要的改进。 注意: 虽然Mybatis支持在接口中直接使用annotation的配置方式来简化配置,转载 2017-11-13 17:58:39 · 334 阅读 · 0 评论 -
线程的两种创建方式及比较
1.线程的概念:线程(thread)是指一个任务从头至尾的执行流,线程提供一个运行任务的机制,对于java而言,一个程序中可以并发的执行多个线程,这些线程可以在多处理器系统上同时运行。当程序作为一个应用程序运行时,java解释器为main()方法启动一个线程。 2.并行与并发:(1)并发:在单处理器系统中,多个线程共享CPU时间,而操作系统负责调度及分配资源给它们。转载 2017-10-16 16:46:19 · 383 阅读 · 0 评论 -
Java的Date类与Calendar类
一:Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。 1.使用Date类代表当前系统时间 Date date = new Date(); System.out.println(date); 使用Da转载 2017-11-27 09:33:19 · 165 阅读 · 0 评论 -
Java 在给定路径上创建文件,所在文件夹不存在时,如何正确创建。
[java] view plain copyString strPath = "E:\\a\\aa\\aaa.txt"; File file = new File(strPath); if(!file.exists())){ file.createNewFile(); } 这段代码,如果 E:\a\aa\ 文件夹不存在,会报转载 2017-11-27 11:38:59 · 4000 阅读 · 0 评论 -
【easyui】input输入框的限制和校验条件
添加提示信息:data-options="prompt:'Enter something here...'"校验手机号:data-options="validType:'mobile'"校验邮件: data-options="validType:'email'"输入框不为空: data-options="required:true"允许输入多行文字:data-options原创 2018-01-17 17:20:45 · 11097 阅读 · 0 评论 -
【JavaScript】关于js实现计时器的方法
functiontimer() { vartoday = new Date(); //定义具体时间时,月份要比实际月份少1,且不加时分秒的话默认为上午八点整,而不是零点 varfirstDay = new Date(2014,7,3,13,35,36); var date =原创 2018-01-17 17:24:06 · 483 阅读 · 0 评论 -
【设计模式】单例模式
显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中含有一个该类的静态私有对象,三是该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。懒汉式(饱汉式)(常用形式)public class Singleton原创 2018-01-17 17:25:53 · 116 阅读 · 0 评论 -
【JSP】关于jsp文件存放以及引用的路径问题
jsp文件里面引入图片或者css,js等文件,默认从jsp文件所在位置的上级目录下查找。如果jsp文件在根目录下,则图片,css,js等文件的导入也是从根目录查找。如果jsp不在根目录下,而是在根目录下的一个文件夹,比如jsp文件夹下面,则图片,css,js等文件的导入就会从这个jsp文件夹里进行查找,这样就会找不到需要导入的东西。所以这时候导入图片,css,js等文件就需要写绝对路径。或者在路径原创 2018-01-17 17:29:40 · 3898 阅读 · 0 评论 -
【JSP】九大内置对象和四大作用域
九大内置对象(隐含对象): request、response、session、out、page、pageContext、application、config、exception四大作用域: page、request、session、application原创 2018-01-17 17:30:49 · 136 阅读 · 0 评论 -
【JSP】Serialize()方法
Serialize()方法通过序列化表单值,创建URL 编码文本字符串。格式为input输入框的name=value。然后可以通过name直接获取某个文本框value的值。序列化方法返回结果为下列字符串。想要出现在序列化以后字符串中的input标签,必须有name属性。name1=value1&name2=value2&name3=value3原创 2018-01-17 17:32:39 · 1554 阅读 · 0 评论 -
HttpClient4.X和3.X传送数据
首先需要说明,HttpClient4.X支持JDK1.5及以上,HttpClient3.X支持1.5以下的。4.X和3.X的区别在于4.X的HttpClient是一个接口,3.X的HttpClient是一个类,4.X更多的是基于接口的实现方式。4.X需要jar:httpclient-4.5.3.jar httpcore-4.4.6.jar3.X需要jar:commons-...原创 2019-03-22 09:31:38 · 413 阅读 · 0 评论