- 博客(17)
- 资源 (6)
- 收藏
- 关注
原创 开发环境、测试环境、生产环境、UAT环境、仿真环境
开发环境、测试环境、生产环境、UAT环境、仿真环境开发环境:开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告。测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。生产环境:是指正式提供对外服务的,一般会关掉错误报告,打开错误日志。可以理解为包含所有的功能的环境,任何项目所使用的环境都以这...
2019-07-24 10:43:51 477 1
原创 四、架构篇分布式-高并发2.1.2 - 线程安全性-原子性:Atomic包(CAS)
原子性原子性(Atomicity):一个操作是不可中断的,要么全部执行成功要么全部执行失败。在典型的转账场景中,入账和出账操作要么同时成功,要么同时失败。其操作过程是一个整体不可分割,这种操作就是原子性的操作。int a = 1;//1a++;//2int b = a;//3通过上面的伪代码来解释下什么是原子性操作。首先java内存模型中定义了8种操作都是原子的,不可再分...
2019-07-24 10:01:00 292
原创 git新建分支不显示/git回退老版本
远程Gitl新建的分支在IDEA里不显示cmd命令,进入项目文件所在目录git branch -a:可以查看所有本地分支和远程分支git branch -r:只查看远程分支如果gitlab里有,而本地没有,则执行git fetch就可以更新到了。然后,在idea里就可以看到所有的远程分支了(不用重启idea)。在使用git时,push到远端后发现commit了多余的文...
2019-07-23 17:05:42 235
转载 四、架构篇分布式-高并发2.1.1
Java并发编程基础一.并发基础并发案例: 计数:200个用户并发请求,接收5000个请求,计数总数少于5000.可能会不一样.思考: 并发问题,本地测试结果与上线并发结果不同.并发编程基础CPU多级缓存CPU多级缓存 - 乱序执行优化处理器为提高运算速度而违背代码原有顺序的优化...
2019-07-22 21:47:17 102
原创 一些Java底层原理
数据结构栈(先进后出),队列(先进先出),数组(查询快,修改慢),链表(查询慢,修改快),单向(无序)/双向链表(有序)。红黑树(根,分支,叶.二分法查找,查询效率高)根/叶:黑叶:红哈希表(数组(分组:相同哈希值为同组)+链表/红黑树(存储:相同哈希值的存储在链表/红黑树(链表超过8位))Listlist(ArrayList,LinkedList,Vec...
2019-07-03 16:33:20 220
原创 ConcurrentModificationException:HashMap 线程不安全抛出异常.
ConcurrentModificationExceptionjava.util.ConcurrentModificationException: null at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437) ~[?:1.8.0_141] at java.util.HashMap$EntryI...
2019-07-02 01:10:33 283
原创 org.slf4j用法
org.slf4j用法:/*Scala*///1.创建Logger对象.private val logger:Logger = LoggerFactory.getLogger(classOf[HttpBmlClient])//2.打印错误信息,同时抛出异常.logger.error(s"path $path not exists")throw IllegalPathE...
2019-07-02 01:06:42 1221
转载 使用线程池优化多线程编程
使用线程池优化多线程编程认识线程池在Java中,所有的对象都是需要通过new操作符来创建的,如果创建大量短生命周期的对象,将会使得整个程序的性能非常的低下。这种时候就需要用到了池的技术,比如数据库连接池,线程池等。在java1.5之后,java自带了线程池,在util包下新增了concurrent包,这个包主要作用就是介绍java线程和线程池如何使用的。...
2019-06-27 17:39:06 268
原创 eureka快速上手
eureka注册服务eurekaServer添加eureka server maven依赖:pom.xml <dependencies> <!--eureka服务端--> <dependency> <groupId>org.springframework.cloud<...
2019-06-27 12:15:22 152
转载 Mybatis分页插件PageHelper简单使用
Mybatis分页插件PageHelper简单使用一个好的讲解mybatis的博客地址http://www.jianshu.com/nb/5226994引言对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select,如下就是项目在没有使用分页...
2019-06-26 15:50:54 72
转载 Pagehelper分页
情景分析: 我们在任何的系统中,分页功能是必不可少的。然而,对于这个功能如果有一种快速开发的实现方式,当然可以节省我们很多的时间了。接下来,我就给大家基于不同的环境来说说如何使用一个分页插件:pagehelper。。不过,大家可要记住了,对于不同的情况,都要认真分析场景,而不是只会套用哦。。当然,如果你想用最原始的方式实现,也是可以的,我也写了两种方法,会在讲解完后,贴到后面,如果有需要...
2019-06-26 15:46:00 511
转载 mybatis insert语句的id的自增方式
https://blog.csdn.net/abc997995674/article/details/80867401
2019-06-25 16:03:47 2981
转载 Postman 使用方法详解
原文地址:https://blog.csdn.net/fxbin123/article/details/80428216
2019-06-25 16:00:36 167
转载 IntelliJ远程调试教程
IntelliJ远程调试教程概述对于分布式系统的调试不知道大家有什么好的方法。对于我来说,在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时。今天咱们来了解了解Java远程调试这个牛逼的功能,本文以Intellij IDEA为例讲解怎么使用远程调试。以Thrift入门教程这篇文章中使用的程序作为例子。这个程序由Thrift服务端和客户端组成。描述一下...
2019-06-25 15:53:11 71
转载 mysql按字段分组,取最大值记录.
要求:获得按table1_id分组,并且age最大的记录信息.方法一:select * from (select * from table2 order by age desc) as a group by a.table1_id方法二:select a.* from table2as a where age = (select max(age)from table2w...
2019-06-25 15:46:41 251
转载 StringUtils工具类常用方法
StringUtils工具类常用方法1:判空、转换、移除、替换、反转 Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便。最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方法总结了一下,方便以后查阅,大家有兴趣也可以看一下。 首先需要说明的一点是,StringUtils类在操作字符串时,即使操...
2019-06-05 11:20:25 283
原创 Junit-4.12 单元测试报错
今天写一个springIOC案例,用Junit-4.12单元测试报错,预测是版本问题,更换4.10版本后正常.
2018-06-30 00:14:22 941
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人