- 博客(17)
- 资源 (8)
- 收藏
- 关注
翻译 20多个MySQL最佳实践与优化
本文地址:https://code.tutsplus.com/tutorials/top-20-mysql-best-practices--net-7855数据库操作往往是当今大多数Web应用程序的主要瓶颈。不仅是DBA(数据库管理员)不得不担心这些性能问题。作为程序员,我们需要通过正确构建表格来完成我们的工作,编写优化的查询和更好的代码。在本文中,我将列出一些针对程序员的MySQL优
2018-01-30 18:13:08 1402
转载 Spring Boot 如何进行部署与服务配置的详解
Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动。其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat)。当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat、weblogic等等),当然在此之前你要对程序入口做简单调整。项目构建我们使用Maven或Gradle,这将使项目依赖、jar包管理、以
2018-01-30 17:41:44 672
转载 Spring Boot的事务管理注解@EnableTransactionManagement的使用
Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。关于事务管理器,不管是JPA还是JDBC等都实现自接口 PlatformTransactionManager 如果你添加的是 spring-boot-starter-jdbc 依
2018-01-30 17:06:01 129674 9
转载 Java多线程之Fork/Join框架基本使用(八)
1. 概述java.util.concurrent.ForkJoinPool由Java大师Doug Lea主持编写,它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。本文中对Fork/Join框架的讲解,基于JDK1.8+中的Fork/Join框架实现,参考的Fork/Join框架主要源代码也基于JDK1.8+。这几篇文章将试图解释
2018-01-16 20:58:39 1947
转载 Java多线程之原子操作atomic的使用CAS(七)
3-5、java.util.concurrent.atomic:线程安全的原子操作包在JDK1.5+的版本中,Doug Lea和他的团队还为我们提供了一套用于保证线程安全的原子操作。我们都知道在多线程环境下,对于更新对象中的某个属性、更新基本类型数据、更新数组(集合)都可能产生脏数据问题(如果您不清楚这个问题,请Google或者Baidu。这边文章本身不讨论脏数据产生的具体原因)。为了避免...
2018-01-13 16:37:15 5202
转载 Java多线程之CountDownLatch同步器的使用(六)
3-4、CountDownLatch:同步器在JKD1.5+环境中,Doug Lea和他的团队为我们提供了可以很好实现这个要求的工具类:CountDownLatch和CyclicBarrier。我们首先介绍CountDownLatch的基本使用方式:3-4-1、CountDownLatch基本使用CountDownLatch是一个同步计数器,能够保证在其他线程完成某一个业务
2018-01-12 16:14:41 4091
转载 Java多线程之Semaphore的使用(五)
3、工作在多线程环境下的“计数器”:从这个小节开始,我们将以一个“赛跑”的例子,讲解JDK1.5环境下一些线程控制工具(包括Semaphore、CountDownLatch和java.util.concurrent.atomic子包),并且复习这个专题讲到的知识点:同步快、锁、线程池、BlockingQueue、Callable等。3-1、 赛跑比赛的需求现在您不仅可以通过
2018-01-12 15:04:37 1384
转载 一个获取国家地区最新数据的方法
缘由最近做一个小型微信商城,因为要用到省市区收货地址的原因(虽然之前整理过,但是数据太老了),所以上网搜了一下相关资料,结果找到的东西要么数据太老了,要么就是表是分开的(省市区存了三张表),索性自己动手。我们需要的是一个类似下面这样的数据结构,区域ID,上级ID,区域名称,等级,排序,状态建好表后,我们有很多解决方案去填充里面的数据1.做好后台UI,丢给运营去慢慢录入,是时
2018-01-11 19:59:43 2080
转载 Java多线程之Callable和其他Lock锁的使用(四)
1、概要如果您阅读JAVA的源代码,出现最多的代码作者包括:Doug Lea、Mark Reinhold、Josh Bloch、Arthur van Hoff、Neal Gafter、Pavani Diwanji等等。其中java.util.concurrent包中出现的基本都是Doug Lea的名字。Doug Lea,是对Java影响力最大的个人,直接贡献的设计包括java的Collec
2018-01-10 19:47:51 1123
转载 Java多线程之ThreadPoolExecutor关于参数队列详解(三)
5、扩展ThreadPoolExecutor线程池实际上JAVA中提供的ThreadPoolExecutor线程池是鼓励各位程序员进行扩展的(虽然大多数情况下您无需扩展),并且JBOSS(Netty)、Apache(Camel)也正是这样在做。下面我们看看一些由ThreadPoolExecutor提供的扩展方式。5-1、Hook methods在ThreadPoolExec
2018-01-08 20:48:34 1537
原创 分布式锁的几种使用方式(redis、zookeeper、数据库)
Q:一个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费synchronizedlockdb lockQ:两个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费分布式锁我们需要怎么样的分布式锁?可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行。这把锁要是一把可重入锁(避免死锁)这把锁最好是一把
2018-01-08 19:57:10 32120 16
转载 Java多线程之ThreadPoolExecutor关于参数队列详解(二)
3-4、JAVA主要线程池的继承结构我们先来总结一下上文中讨论过的内容,首先就是JAVA中ThreadPoolExecutor类的继承结构。如下图所示:ThreadPoolExecutor:这个线程池就是我们这两篇文章中介绍的重点线程池实现。程序员可以通过这个线程池中的submit()方法或者execute()方法,执行所有实现了Runnable接口或者Callab
2018-01-08 15:38:18 2433
转载 Java多线程之ThreadPoolExecutor详解使用
1、概述我将讲解JAVA原生线程池的基本使用,并由此延伸出JAVA中和线程管理相关的类结构体系,然后我们详细描述JAVA原生线程池的结构和工作方式2、为什么要使用线程池前文我们已经讲到,线程是一个操作系统概念。操作系统负责这个线程的创建、挂起、运行、阻塞和终结操作。而操作系统创建线程、切换线程状态、终结线程都要进行CPU调度。另一方面,目前大多数生产环境我们所面临问题的技术背景...
2018-01-08 14:49:23 936
转载 微服务消息中间件ActiveMQ,RabbitMQ,kafka等的技术选择
在微服务盛行的时代,系统的分布式,让我们广泛的运用消息中间件来进行系统间的数据交换,而且通过消息的方式,便于系统间异步解耦。我们在谈技术选型的时候,不能脱离业务空谈选型,每种消息中间件必定有其优点和不足,我们根据我们自身的场景择优选择,结合我自己使用的二种类型的MQ简单说说:首先说说RabbitMQ,这是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMT
2018-01-04 13:55:45 6890
转载 Redis详解之-集群方案:高性能(Codis3.2+Redis Cluster)(五)
对以前的内容进行一下总结和复习。了解Redis的基本参数配置和使用。了解事件订阅和持久化存储方式(RDB和AOF)。Redis集群方案:高可用(使用Redis Sentinel),官网Rdeis3.x推荐三主三从的方式,参考(https://www.cnblogs.com/zhongkaijun/p/4728334.html)。Redis集群方案:高性能,Twemproxy和Red
2018-01-04 09:54:13 5006 3
转载 Redis详解之-集群方案:高性能(使用原生Redis Cluster)(四)
对以前的内容进行一下总结和复习。了解Redis的基本参数配置和使用。 了解事件订阅和持久化存储方式(RDB和AOF)。 Redis集群方案:高可用(使用Redis Sentinel),官网Rdeis3.x推荐三主三从的方式,参考(https://www.cnblogs.com/zhongkaijun/p/4728334.html)。 Redis集群方案:高性能,Twemproxy和Red...
2018-01-03 17:34:24 52982 2
转载 Redis详解之-集群方案:高可用(使用Redis Sentinel)(三)
对以前的内容进行一下总结和复习。了解Redis的基本参数配置和使用。了解事件订阅和持久化存储方式(RDB和AOF)。Redis集群方案:高可用(使用Redis Sentinel),官网Rdeis3.x推荐三主三从的方式,后面再介绍,参考(https://www.cnblogs.com/zhongkaijun/p/4728334.html)。接下来让我熟知一下:Redis集群
2018-01-03 15:30:28 7032
Zookeeper学习中的疑难问题总结,很受用!
2018-10-25
Java五年工作经验深刻推荐的书籍,有设计模式,Java并发编程,Spring源码解析,大型网站..等
2018-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人