![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
碎片
csdn_李寻欢
一条想翻身的鱼
展开
-
并发影响
并发影响修改数据的用户会影响同时读取或修改相同数据的其他用户。即这些用户可以并发访问数据。如果数据存储系统没有并发控制,则用户可能会看到以下负面影响:丢失更新未提交的依赖关系(脏读)不一致的分析(不可重复读)幻读由于行更新导致读取缺失和重复读丢失更新当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题。每个事务都不知道其他事务的存在。最后的更新将覆盖由其他...转载 2019-05-14 16:18:43 · 361 阅读 · 0 评论 -
浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别
博主说:首先,大家在使用SSM框架进行web开发的时候,经常会在Ctrl层遇到@RequestMapping、@ResponseBody以及@RequestBody这三个参数,博主就以自己在项目开发中总结的一些知识点浅谈一下三者之间微妙的关系。1.@RequestMapping国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,...转载 2019-03-28 14:43:53 · 178 阅读 · 0 评论 -
Mybatis@param的用法
若Dao层中方法的参数只有一个 则无需使用@param注解public java.util.HashMap<String, Object> get1(String uname);那么在mapper中,以下写法都可以select * from t_user where uname = #{0}select * from t_user where uname = #{uname}...转载 2019-04-01 20:15:21 · 103 阅读 · 0 评论 -
parseInt()的用法
讲字符串转换为整数若开头有空格,则自动消除空格 例如parselnt(" 520")//520原创 2019-04-01 19:34:32 · 842 阅读 · 0 评论 -
PageHelper
引言对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select,如下就是项目在没有使用分页插件的时候的语句复制代码<select id="size" parameterType="Map" resultType="Long"> sel...转载 2019-03-27 22:45:07 · 110 阅读 · 0 评论 -
shiro
1.Authenticator:认证器,管理登陆与登出。2.Authorizer:授权器,赋予主体权限。3.Session Manager:session管理器,session管理机制。不借助任何web容器使用session4.Session Dao:session操作,主要增删改查。5.Cache Manager:缓存管理器6.Pluggable Realms(1 or more):s...原创 2019-03-27 19:15:02 · 92 阅读 · 0 评论 -
webservice
在java项目中使用webservice今天学习webservice,主要参考了网络上的一些文章。1.关于原理的介绍:个人认为这篇文章写得不错了,戳这里。2.关于demo的编写:个人认为这篇文章很简洁,也能运行成功,戳这里。按照上面那篇文章的demo运行成功以后,我想在java web中加入一个webservice服务,供其他的java web项目调用。1.首先,在项目中添加com.xd...转载 2019-03-27 16:48:56 · 93 阅读 · 0 评论 -
tcp的三次握手与四次挥手详解
TCP三次握手四次挥手详解相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助.而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。因此在这里详细解释一下这两个过程...转载 2019-03-25 10:36:26 · 97 阅读 · 0 评论 -
Lombok详解
Lombok使用介绍在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等方法的编写。IDEA中的安装打开IDEA的Setting –> 选择Plugins选项 –> 选择Browse repositories –> 搜索lombok –> 点击安装 –> 安装完成重启IDEA –> 安装成功引入依赖...转载 2019-03-17 21:55:36 · 349 阅读 · 0 评论 -
ZooKeeper是什么
一. ZooKeeper是什么ZooKeeper由雅虎研究院开发,是Google Chubby的开源实现,后来托管到Apache,于2010年11月正式成为Apache的顶级项目。ZooKeeper是一个经典的分布式数据一致性解决方案,致力于为分布式应用提供一个高性能、高可用,且具有严格顺序访问控制能力的分布式协调服务。分布式应用程序可以基于ZooKeeper实现数据发布与订阅、负载均衡、命...转载 2019-03-11 13:34:16 · 177 阅读 · 0 评论 -
分布式锁的作用及实现(Redis)
一、什么是分布式锁?要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized是共享对象头,显示锁Lock是共享某个变量(state)。进程锁:为了控制同一操作系统中多个进程...转载 2019-03-07 16:27:18 · 153 阅读 · 0 评论 -
redis
什么是RedisRedis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。Red...转载 2019-03-07 15:59:03 · 62 阅读 · 0 评论 -
java反射(通熟易懂)
反射之中包含了一个「反」字,所以想要解释反射就必须先从「正」开始解释。一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。Apple apple = new Apple(); //直接初始化,「正射」apple.setPrice(4);上面这样子进行类对象的初始化,我们可以理解为「正」。而反射则是一开始并不知道我要初...转载 2019-03-14 14:14:08 · 139 阅读 · 0 评论 -
java反射
反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对...转载 2019-03-14 14:13:06 · 117 阅读 · 0 评论 -
java堆(heap)及分代
java堆不是数据结构意义上的堆(一种有序的树),而是jvm的堆,也即是运行时的数据区。所有类的实例和数组都是在堆上分配内存,它在JVM启动时被创建,对象所占的内存是由自动内存管理系统也就是垃圾回收器回收。堆内存是由存活的对象以及死亡的对象组成的。存活的对象不会被垃圾回收器回收;死亡的对象是还没有被垃圾回收器回收的对象,等下一个周期回收永久代:永久代主要存在类定义,字节码,和常量等很少会变更的...原创 2019-03-09 17:22:28 · 186 阅读 · 0 评论 -
类的方法和对象的方法
类方法:class method ,又称为 static method,静态方法,调用它的主体是固定唯一的,强调的是方法的通用性代码存储在内存的静态区对象方法(动态):instance method,调用它的主体,计算所依赖的主体,是动态的,可变的,所做的事情跟主体有关,比如访问和设置对象的变量,强调的是方法的个体性。方法存储在内存的堆区heap类方法是所有该类的实例也就是对象共有的方...原创 2019-05-22 10:57:22 · 609 阅读 · 0 评论