自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 在Wince中,实现A页面跳转至B页面后,在B页面进行数据处理完后关闭B页面时,在A页面获取B页面的变量值

在Wince中,实现A页面跳转至B页面后,在B页面进行数据处理完后关闭B页面时,在A页面获取B页面的变量值。1.在A界面逻辑代码中跳转B界面,并声明获取B页面数据的方法。3.在B界面增加监控界面关闭按钮的点击事件。2.在B界面准备要回传A界面的数据。

2023-06-15 19:34:37 125

转载 JAVA的String长度有限制吗?是多少?

前言话说Java中String是有长度限制的,听到这里很多人不禁要问,String还有长度限制?是的有,而且在JVM编译中还有规范,而且有的家人们在面试的时候也遇到了,本人就遇到过面试的时候问这个的,而且在之前开发的中也真实地遇到过这个String长度限制的场景(将某固定文件转码成Base64的形式用字符串存储,在运行时需要的时候在转回来,当时文件比较大),那这个规范限制到底是怎么样的,咱们话不多说先䁖䁖去。String首先要知道String的长度限制我们就需要知道String是怎么存储字符串的,St

2022-03-09 10:47:54 1786

原创 数组排序算法

1.冒泡排序:通过每次冒泡排序操作相邻两元素进行比较找出最大或最小。如果满足条件,两元素间位置进行交换每一次的冒泡都会找出一个元素达到指定位置// 空杯子int cup;// 0, {33, 52, 68, 16, 92, 73, 29}//第1次:[33, 52, 16, 68, 73, 29, 92] i = 0//第2次:[33, 16, 52, 68, 29, 73, 92] i = 1//第3次:[16, 33, 52, 29, 68, 73, 92] i = 2//第4

2021-03-10 11:23:14 204

原创 框架知识点总结

一、 mybatis1.mybatis的工作原理?1)SqlSessionFactoryBuilder类读取mybatis-config.xml配置文件2)打开SqlSession3)读取解析Mapper.xml映射文件4)持久化操作5)提交事务6)关闭sqlSession2.mybatis中$和#区别?#{}: 相当于 JDBC 的PreparedStatement,是使用参数占位符的 ,可以防止sql注入。${}: 相当于JDBC的Statement,只是字符串替换,容易被sql注入

2021-03-10 10:38:14 393

原创 谈谈对JVM的理解?

一、jvm内存共分为虚拟机栈,堆,方法区,程序计数器,本地方法栈五个部分。1.虚拟机栈(线程私有):每个方法执行的同时会创建一个栈帧。栈帧存储了方法的 局部变量表、操作数栈、动态连接和方法返回地址等信息局部变量表:局部变量就是存在那里。操作数栈:根据字节码指令,往栈中写入或提取数据,即入栈(push)/出栈(pop)。操作数栈可理解为java虚拟机栈中的一个用于计算的临时存储区.2.堆(线程共享):成员变量,new出来的对象,它们存储在堆中。jvm内存分为堆内存和永久代,堆内存分为年轻代,老

2021-03-03 19:04:25 404 2

原创 jvm内存模型、调优、四种引用状态、内存泄漏、内存溢出

1、jvm内存模型Java中通过多线程机制使得多个任务同时执行处理,所有的线程共享JVM内存区域main memory,而每个线程又单独的有自己的工作内存,当线程与内存区域进行交互时,数据从主存拷贝到工作内存,进而交由线程处理根据JVM规范,JVM 内存共分为虚拟机栈,堆,方法区,程序计数器,本地方法栈五个部分。1.1、 程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,

2021-03-03 09:40:53 366

原创 JAVA项目中需要用到多线程的场景?

场景一:一个业务逻辑有很多次的循环,每次循环之间没有影响,比如验证1万条url路径是否存在,正常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟,有点恐怖。这时可以用多线程,将1万条URL分成50等份,开50个线程,没个线程只需验证200条,这样所有的线程执行完是远小于1万分钟的。场景二:需要知道一个任务的执行进度,比如我们常看到的进度条,实现方式可以是在任务中加入一个整型属性变量(这样不同方法可以共享),任务执行一定程度就给变量值加1,另外开一个线

2021-03-03 09:11:00 836

原创 事务四大特性

事务的四大特性:原子性:事务所包含的所有操作要么全部成功,要么全部失败回滚隔离性:事务与事务之间操作互不干扰,隔离执行一致性:一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。持久性:持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的

2021-03-02 14:16:05 160

原创 cookie和session的区别?

1.cookie保存在客户端,session保存在服务器端2.cookie安全性不高,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。3.单个cookie保存数据不能超过4K,一般的浏览器限制一个站点最多保存20个cookie;session没有数据量的限制4.cookie存储的是字符串类型;session可以存储更为复杂的类型如对象。5.一般cookie用来保存浏览量、访问次数之类的信息;session保存用户登录重要信息6.cookie默认失效时间

2021-03-02 10:31:14 83

原创 脏读、幻读、不可重复读

脏读:脏读是指在一个事务处理过程里读取了另一个未提交的事务中的数据。当一个事务正在多次修改某个数据,而在这个事务中这多次的修改都还未提交,这时一个并发的事务来访问该数据,就会造成两个事务得到的数据不一致。不可重复读:是指在对于数据库中的某个数据,一个事务范围内多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。 例如事务T1在读取某一数据,而事务T2立马修改了这个数据并且提交事务给数据库,事务T1再次读取该数据就得到了不同的结果,发送了不可重复读。不可重复读和脏读的区别是

2021-03-01 10:19:49 104

原创 javaSE/EE复习(持续更新中)

标识符:标识符就是指在程序中,我们自己定义的内容。比如类名,变量名,方法名等等。命名规则:(必须遵守)1,不能数字开头2,不能是java中的关键字和保留字3,可以包含数字,字母(区分大小写),$和_命名规范:(行内要求)1,类名:首字母大写,后面每个单词首字母大写(大驼峰)类名必须与文件名一致2,变量名:首字母小写,后面每个单词首字母大写(小驼峰)3,方法名:与变量名相同推荐:尽量做到见名知意八大基本类型整数型:byte:所占字节:1 所占位数:8short:所占字节:

2021-02-25 09:55:38 140

原创 Lock和synchronized的区别?

1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现;2)synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock在发生异常时,如果没有主动通过unLock()去释放锁,则很可能造成死锁现象,因此使用Lock时需要在finally块中释放锁;3)Lock可以让等待锁的线程响应中断,而synchronized却不行,使用synchronized时,等待的线程会一直等待下去,不能够响应中断;4)通...

2021-02-24 09:46:50 82

原创 cookie 和session的区别?

(1)、cookie数据存放在客户的浏览器上,session数据放在服务器上 ;(2)、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session ;(3)、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE ;(4)、单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K;(5)、所以将登陆信息等重要信息存放为S

2021-02-23 17:48:40 113

原创 oracle中行转列和列转行

一、行转列1) 使用decode函数select name,sum(decode(course, ‘语文’, score, 0)) as 语文,sum(decode(course, ‘数学’, score, 0)) as 数学,sum(decode(course, ‘英语’, score, 0)) as 英语from GRADE group by name;2) 使用case when语句select name,sum(case course when ‘语文’ then score e

2021-02-23 14:48:00 2047

原创 ConcurrentHashMap 和 Hashtable 的区别?

ConcurrentHashMap 和 Hashtable 的区别?ConcurrentHashMap 结合了 HashMap 和 HashTable 二者的优势。HashMap 没有考虑同步,hashtable 考虑了同步的问题。但是 hashtable 在每次同步执行时都要锁住整个结构。ConcurrentHashMap 锁的方式是稍微细粒度的。 ConcurrentHashMap 将 hash 表分为 16 个桶(默认值),诸如 get,put,remove 等常用操作只锁当前需要用到的桶。

2021-02-16 09:47:33 129

原创 java中常用类的常用方法

1.objectequals();比较两个对象的地址值,必须重写equals,重写hashcode方法toString(); 打印对象信息,默认打印地址,重写后按重写规则打印hashcode();返回对象hash值clone();Java中要想自定义类的对象可以被复制,自定义类就必须实现Cloneable中的clone()方法,浅拷贝:只是复制对象的引用,还是同一个内存地址,深拷贝:开辟一块新的内存地址,将父类的属性方法和所有子类的属性方法都复制进去getClass();java有两个获得类型

2021-02-14 11:04:16 471 1

原创 将js中的值显示在本页面指定位置

要显示的区域:<span id="span1"></span>方法一:js实现<script> var url = decodeURI(location.href);//获取当前页面url,decodeURI()解决中文乱码 var aa = url.split("?o_name=")[1];//解析后的值 alert(aa); document.getElementById("span1").innerText=aa;</

2021-02-10 17:25:59 1932 1

原创 hashmap有序吗?

1.hashmap有序吗?不是有序的.2.有没有有顺序的Map实现类?有TreeMap和LinkedHashMap。3.TreeMap和LinkedHashMap是如何保证它的顺序的?LinkedHashMap 是根据元素增加或者访问的先后顺序进行排序,而 TreeMap是基于元素的固有顺序 (由 Comparator 或者 Comparable 确定)。4.哪个的有序实现比较好?TreeMap TreeMap则实现了 SortedMap 接口。5.你觉得还有没有比它更好或者更高效的实现方式

2021-02-04 09:28:54 6404

原创 如何在前台显示后台返回的json数据中某个数据集合中的某项

1.后台json数据如下:{“count”:21,“code”:0,“msg”:null,“data”:[{“que_id”:1,“sub_id”:2,“que_type_id”:0,“que_desc”:“66+66=?”,“right_ans”:“A”,“type_name”:“单选题”,“que_options”:[{“que_id”:1,“que_op”:“A”,“que_con”:“9”},{“que_id”:1,“que_op”:“B”,“que_con”:“8”},要求显示出que_con

2021-01-27 09:21:40 422 2

原创 http中get,post请求的区别

接下来看看两种请求方式的区别:1、GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字符都要编码之后再传输。POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。上面的item=bandsaw就是实际的传输数据。因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。2、传输数据的大小在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但

2021-01-07 09:21:53 79

原创 js编号自增长

js编号自增长代码:templet:’{{d.LAY_TABLE_INDEX+1}}’使用场景: 编号

2021-01-06 17:12:16 239

原创 使用layui将数据库中会员等级的种类查询出来并显示在select下拉框中

1.前端: *会员等级 请选择 //查询数据库中会员等级并显示在select框中var opsHTML = “请选择会员等级”$.post(“vip/getlevel”,function (data) {//遍历拼接所有数据,拼成 data[i].ldesc 样式,显示在中for(var i=0;i<data.length;i++){var

2021-01-05 20:03:45 283 1

原创 mybatis查询会员信息时通过会员等级id关联查询出会员等级

vipMapper.xml文件:select * from VIPselect * from viplevel where levid=#{levid}解析:id=“getList” 查询语句对应的dao层方法名resultMap=“vipMapper"查询结果映射集column=” “为数据库中列名,property=” "为实体类中的属性,association 关联查询关键字,select="getLevelById"要关联的查询语句,...

2021-01-05 19:47:54 225

原创 对spring的理解

1.spring为什么出现:spring是一个轻量级web框架,以前都是使用 JSP+Servlet+数据库+JDBC技术开发,在操作dao层的时候,每次都需要实例化一次,这样就很繁琐,代码冗余,耦合度高。而且每次都需要我们控制什么时候创建对象,以何种方式创建,不能更加专注于业务逻辑本身。为了降低代码耦合度,减轻工作量,spring应运而生。2.理解spring:(1)IOC和DI:我们平时在开发java web程序的时候,每个对象在需要使用它的合作对象时,自己都要将它要合作对象创建出来(比如 n

2020-12-31 09:41:20 598

原创 利用mybatis和分页插件实现oralce表的分页

1.SqlSessionUtil:2.servlet:3.stu.jsp4.IstuDao5.stuMapper.xml

2020-12-24 09:13:47 72

原创 mybatis工作原理

1.获取mybatis-config.xml配置文件Reader reader = Resources.getResourceAsReader(“mybatis-config.xml”);2.解析配置文件并构造sqlSessionFactorysqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);3.打开sqlSession会话sqlSession sqlSession =sqlSessionFactory.openSes

2020-12-23 19:59:00 69

原创 利用mybatis对dept表进行查询和插入操作

1.创建一个maven项目2.创建文件夹,(1)在main目录创建java和resources两个文件夹(2)创建常用包类(3)引入并配置DeptMapper.xml和mybatis-config.xml两个文件配置mybatis-config.xml:配置DeptMapper.xml:3.在pom.xml中导入依赖<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>&lt

2020-12-21 19:28:32 402 1

转载 Java web Cookie详解

引用自:https://blog.csdn.net/pjh88/article/details/107773391

2020-12-19 10:03:10 72 1

原创 request.getParameter()与request.getParameterValues()的区别和使用方式

区别request.getParameterValues(String name)是获得如checkbox类(名字相同,但值有多个)的数据。可以用于接收数组变量 ,如checkobx类型request.getParameter(String name)是获得相应名的数据,如果有重复的名,则返回第一个的值 .一般用于接收一般变量 ,如text类型使用方式例1:对于text类型的input标签<input type="text" name="name" value="1" /> &l

2020-12-12 09:34:38 609

原创 oracle模式、外模式和内模式

三级模式结构:外模式、模式和内模式一、模式(Schema)定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。理解:① 一个数据库只有一个模式;② 是数据库数据在逻辑级上的视图;③ 数据库模式以某一种数据模型为基础;④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。二、外模式(External Schema)定义:也称子模式(Subsch

2020-12-12 09:25:26 2139

原创 HashMap和HashTable的区别

1.继承不同:HashMap继承自AbstractMap,HashTable继承自Dictionary2.key和value值要求不同:HashMap的key和value都可以为null值,但只能有一个为null值的key;HashTable的key和value都不可以重复。3.线程安全性不同:HashMap方法没加同步锁,线程不安全;HashTable方法加了同步锁,线程不安全4.初始容量和扩容方式不同:HashMap的hash数组初始容量为16,扩容方式为old2;HashTable的ha

2020-12-10 09:54:17 55

转载 hashMap和hashTable的不同之处

https://blog.csdn.net/zhaoshuai_01/article/details/107757654hashMap和hashTable的不同之处hashMap1、1.7 添加元素时,首先通过hash方法获取哈希值,通过indexFor方法获取索引,在1.8版本中,indexFor取消了,直接使用数组长度-1取模hash值得方式获取2、1.7 hashMap的数据结构为数组+链表,在1.8版本中,数据结构采用的是数组+链表/红黑树,链表或者红黑树的处理方式为:当链表深度达到默认值8

2020-12-10 09:21:15 81

原创 将前端form表单的String类型日期数据转换为Date类型存入Oracle数据库

//先将String类型转换为util.date类型,再转换为sql.date类型1.jsp层出生日期: <input type="date" name="bir"/>`2.servlet层:SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");java.sql.Date bir1=null;try { java.util.Date time1 = df.parse(bir);//先将String类型转换为util.

2020-12-09 19:57:03 986

原创 oracle中修改字段类型并设置字段不允许为空

在oracle修改user表字段name类型时遇到报错:“ORA-01439:要更改数据类型,则要修改的列必须为空”,是因为要修改字段的新类型和原来的类型不兼容。1.当要修改的字段内容为空时:alter table 表名 modify 字段名 要修改的类型 not null;2.当要修改的字段内容***不***为空时:要修改字段的新类型和原来的类型不兼容时,可以通过如下方式解决该问题:1、修改原字段名name为临时字段name_new;alter table user rename colum

2020-12-01 19:47:58 8757

转载 hashcode详解

一、hashcode是什么?1、hash和hash表是什么?hash是一个函数,该函数中的实现就是一种算法,就是通过一系列的算法来得到一个hash值,这个时候,我们就需要知道另一个东西,hash表,通过hash算法得到的hash值就在这张hash表中,也就是说,hash表就是所有的hash值组成的,有很多种hash函数,也就代表着有很多种算法得到hash值,如上面截图的三种,等会我们就拿第一种来说。2、hashcode有了前面的基础,这里讲解就简单了,hashcode就是通过hash函数得来的,通俗

2020-12-01 09:31:57 135

原创 java集合概要整理

一、数组和集合的区别总结①长度的区别:数组:长度固定。集合:长度不固定。②单一性的区别:数组:只能存放同一数据类型的数据。集合:可同时存放不同类型的数据。③存储数据类型区别:数组:既可存放基本数据类型,又可以存放引用数据类型 (对象)。集合:只能存放引用数据类型。二、Collection接口Collection接口中有List接口和Set接口1.List接口:有序、有下标、元素可以重复的集合接口。继承自Collection接口。注:这里的有序指的是:集合中的元素按插入时间先后顺序

2020-11-19 09:09:54 99

转载 重写hashcode和equals方法

一。前言我们都知道,要比较两个对象是否相等时需要调用对象的equals()方法,即判断对象引用所指向的对象地址是否相等,对象地址相等时,那么与对象相关的对象句柄、对象头、对象实例数据、对象类型数据等也是完全一致的,所以我们可以通过比较对象的地址来判断是否相等。二。Object源码理解对象在不重写的情况下使用的是Object的equals方法和hashcode方法,从Object类的源码我们知道,默认的equals 判断的是两个对象的引用指向的是不是同一个对象;而hashcode也是根据对象地址生成一个

2020-11-17 11:05:47 536

原创 分析java中equals和==的区别

一、对象类型不同1、equals():是超类Object中的方法。2、==:是操作符。二、比较的对象不同1、equals():用来检测两个对象是否相等,即两个对象的内容是否相等。2、==:用于比较引用时比较的是地址值,比较基本数据类型时比较的是内容值三、运行速度不同1、equals():没有==运行速度快。2、:运行速度比equals()快,因为只是比较引用。...

2020-11-17 10:29:02 72

原创 java常用的三种设计模式

一、单例模式1.概述单例模式的定义就是确保某一个类只有一个实例,并且提供一个全局访问点。属于设计模式三大类中的创建型模式。单例模式具有典型的三个特点:只有一个实例。自我实例化。提供全局访问点。2.优缺点优点:由于单例模式只生成了一个实例,所以能够节约系统资源,减少性能开销,提高系统效率,同时也能够严格控制客户对它的访问。缺点:也正是因为系统中只有一个实例,这样就导致了单例类的职责过重,违背了“单一职责原则”,同时也没有抽象类,这样扩展起来有一定的困难。3.常见实现方式常见的单例模式实现

2020-11-17 09:39:41 1260

原创 简述静态方法和实例方法的区别

1.静态方法在编译时就加载了,而实例方法是实例化后加载,在调用静态方法时还没实例化,所以静态方法不能调用实例化方法。2.静态方法可以直接类名.方法名或者对象名.方法名调用;实例方法只能实例化后,通过对象名.方法名调用。3.静态方法只能调用类中静态属性和静态方法,不能调用类中实例属性和实例方法;实例方法可以调用静态属性和静态方法,也可以调用实例属性和实例方法。...

2020-11-14 09:53:12 5734

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除