java
wolf007
这个作者很懒,什么都没留下…
展开
-
Hibernate问题-read-write缓存策略(出自王老师)
read-write是严格的读取策略。在将一个对象放到缓存时,同时会加一把锁。在当前session没有关闭的情况下,其他session不可以访问缓存中的同一个对象。真到此锁定的session关闭。@Test public void testUpdate(){ Session s2 = HibernateUtils.openSession(); Pe转载 2016-01-22 11:21:17 · 785 阅读 · 0 评论 -
Spring Boot(一)
Spring Boot学习Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题---习惯大于约定。 Spring Boot默认使用tomcat作为服务器,使用logback提供日志记录。 无需多言,直接进入节转载 2017-06-09 13:42:39 · 2282 阅读 · 0 评论 -
一个简单的抽奖(概率)小程序
最近在开发中接到一个抽奖(概率)的需求,需求如下:用户在商品购买成功后,生成一个随机红包返还给购买用户。红包比例须在后台配置,如下所示: 序号红包金额百分比(%)110602203035010原创 2017-08-20 18:13:47 · 21730 阅读 · 1 评论 -
spring事物的7个传播行为
@Transactional之propagation Propagation支持7种不同的传播机制: REQUIRED -- required 业务方法需要在一个事务中运行,如果方法运行时,已处在一个事务中,那么就加入该事务,否则自己创建一个新的事务.这是spring默认的传播行为.。 SUPPORTS: -翻译 2017-08-21 09:22:45 · 1331 阅读 · 0 评论 -
Java-线程池专题(什么是线程池,如何使用,为什么要用)
1、什么是线程池: java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,转载 2017-08-23 10:13:07 · 59508 阅读 · 8 评论 -
关于HTTP协议
HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系转载 2017-08-23 10:27:45 · 325 阅读 · 0 评论 -
spring boot 整合spring data jpa
本文结构: - 什么是springdata jpa - springboot 整合spring data jpaSpring Data Repository的核心接口是Repository(好像也没什么好惊讶的)。这个接口需要领域类(Domain Class)跟领域类的ID类型作为参数。这个接口主要是让你能知道继承这个类的接口的类型。CrudRepository 供了对被管转载 2017-08-30 11:07:22 · 294 阅读 · 0 评论 -
springboot的缓存技术
引子我门知道一个程序的瓶颈在于数据库,我门也知道内存的速度是大大快于硬盘的速度的。当我门需要重复的获取相同的数据的时候,我门一次又一次的请求数据库或者远程服务,导致大量的时间耗费在数据库查询或者远程方法的调用上,导致程序性能的恶化,这更是数据缓存要解决的问题。spring 缓存支持spring定义了 org.springframework.cache.CacheManager和org.转载 2017-08-30 17:29:27 · 234 阅读 · 0 评论 -
设计模式—单例设计模式总结
看到一篇对单例描述很不错的文章,地址:https://www.2cto.com/kf/201704/631396.html单例设计模式总结单例模式简介单例模式是应用最广泛的模式之一,在应用这个模式时,单例对象的类必须确保只有一个实例存在,避免产生多个对象消耗过多的资源。如在访问IO 和数据库时可以考虑使用单例模式。单例模式的 UML 类图Client - 高层客户端;转载 2017-10-25 16:59:08 · 282 阅读 · 0 评论 -
centos7安装jdk8
一、准备工作卸载默认安装的OpenJDK请使用su root提权后再用1.查找需要卸载的OpenJDK[root@localhost /]# rpm -qa | grep openjdk | grep -v grepjava-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64java-1.8.0-openjdk-1.8.0.1原创 2017-11-14 14:42:23 · 691 阅读 · 0 评论 -
数据库-索引 (聚集索引和非聚集索引)
SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱。一、简介 数据库的索引可以加快查询速度,原因是索引使用特定的数据结构(B-Tree)对特定的列额外组织存放,加快存储引擎(索引是存储引擎实现)查找记录的速度。 索引优化是数据库优化的最重要手段。 如果查询语句使用索引...转载 2017-08-23 10:50:28 · 753 阅读 · 0 评论 -
浅谈ThreadLocal
一、什么是ThreadLocal早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名...转载 2018-12-13 15:01:29 · 244 阅读 · 0 评论 -
springboot之整合mybatis-annotation(注解方式)
本例将采用maven管理,代码托管在github上,地址:https://github.com/wolf909867753/springboot。1。创建maven-module,properties,并在pom.xml中添加springboot依赖project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w转载 2017-06-29 17:09:26 · 7427 阅读 · 0 评论 -
springboot之mybaits(非注解方式)
本例将采用maven管理,代码托管在github上,地址:https://github.com/wolf909867753/springboot。1。创建maven-module,properties,并在pom.xml中添加springboot依赖project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/转载 2017-06-29 15:52:25 · 373 阅读 · 0 评论 -
springboot之properties
本例将采用maven管理,代码托管在github上,地址:https://github.com/wolf909867753/springboot。1。创建maven-module,properties,并在pom.xml中添加springboot依赖project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http转载 2017-06-29 15:37:53 · 766 阅读 · 0 评论 -
java处理高并发高负载类网站的优化方法
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是转载 2016-01-11 16:36:43 · 1100 阅读 · 0 评论 -
Jackson 框架
JSON-lib框架,转换JSON、XML不再困难Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。一、 准备工作 1、 首先要去官方下载json-lib工具包下载地址:http://sourceforge.net/projects/j转载 2016-01-12 09:34:20 · 368 阅读 · 0 评论 -
Jackson 框架
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jacks转载 2016-01-12 09:36:30 · 394 阅读 · 0 评论 -
Java JSON技术框架选型与实例
JSONJSON英文全称为JavaScriptObject Natation,采用key:value键值对的方式存贮数据,与xml格式相比,JSON是一种轻量级的数据交换格式;不要被Javascript这个单词迷惑,实际上JSON只是一种数据格式,与具体语言并无关系。JSON已被广泛应用于业界,比如目前NoSQL数据库存贮大都采用key:value存贮结构,以Mongo为例,其脚本语法甚至直接转载 2016-01-12 09:44:45 · 265 阅读 · 0 评论 -
给PLSQL插上飞翔的翅膀-PLSQL优化
优化的理论基础通过Select Count(?)进入优化之旅不看百度或者GOOGLE说出下面3者的区别?SELECT COUNT (*)SELECT COUNT(1)SELECT COUNT(字段名)SELECT Count(?)的知识ORACLE的优化器转载 2016-03-31 10:27:28 · 321 阅读 · 0 评论 -
HashMap实现原理分析
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难转载 2016-03-28 16:26:18 · 306 阅读 · 0 评论 -
redis应用
文/隔壁陈叔叔(简书作者)原文链接:http://www.jianshu.com/p/dbc1da93eae5著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。1.什么是RedisRedis是一个基于BSD开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API.1.Redis存储的是一个个的键转载 2016-03-29 09:17:33 · 339 阅读 · 0 评论 -
创建固定大小的list
List list = FixedSizeList.decorate(Arrays.asList(new Integer[4])); System.err.println(">>>>>>>>>>length:" + list.size());原创 2016-09-29 08:51:03 · 19340 阅读 · 0 评论 -
秒杀系统架构分析与实战
互联网正在高速发展,使用互联网服务的用户越多,高并发的场景也变得越来越多。电商秒杀和抢购,是两个比较典型的互联网高并发场景。虽然我们解决问题的具体技术方案可能千差万别,但是遇到的挑战却是相似的,因此解决问题的思路也异曲同工。1 秒杀业务分析正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货秒杀业务的特性(1)低廉价转载 2016-12-16 16:33:35 · 313 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来转载 2016-12-24 14:56:35 · 297 阅读 · 0 评论 -
springboot之启动加载数据 CommandLineRunner 和ApplicationRunner
Spring Boot 启动加载数据 CommandLineRunner 和ApplicationRunner在实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。为了解决这样的问题,springboot为我们提供了一个方法,通过实现接口 CommandLineRunner 和ApplicationRunner来实现。Springboot应用程序在启动后,会遍历C原创 2017-06-29 15:44:50 · 738 阅读 · 0 评论 -
Tomcat性能调优
一、性能测试的几个重要指标决定性能测试的几个重要指标,它们是:ü 吞吐量ü Responsetimeü Cpuloadü MemoryUsage我 们对Apache做了一定的优化,使其最优化上述4大核心指标的读数,那么我们的Apache调优了,我们的Tomcat也作些相应 的调整,这篇文章一方面用来向那位曾写过“Tomcat如何承受1000个 用户”的作都的...转载 2018-12-13 15:34:30 · 312 阅读 · 0 评论