java
文章平均质量分 76
mojolang
精品驿站
展开
-
Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转
本文目前提供:LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转文中都使用的时区都是东8区,也就是北京时间。这是为了防止服务器设置时区错误时导致时间不对,如果您是其他时区,请自行修改1.LocalDateTime获取毫秒数//获取秒数Long second = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));//获取毫秒数Long m.转载 2020-06-24 14:35:11 · 7925 阅读 · 0 评论 -
Mongodb设置用户权限(整理版)
本文是基于MongoDB 4.0编写,据了解MongoDB在3.0以后的版本中权限设置有变化。1. 创建超级用户安装完之后,打开命令行,进入mongodb安装目录,在bin目录下执行 mongod 启动,该模式是不需要安全认证的模式,启动后,使用可视化工具如:Robo 3T 打开shell窗口先创建一个有grant权限的用户,如root权限的用户:user:用户名...转载 2020-05-06 04:37:43 · 3670 阅读 · 0 评论 -
Springcloud实战遇到的问题及解决方式
1.Feign与hystrix使用不会看到错误信息,需要先屏蔽。2.springcloud之Feign、hystrix、ribbon设置超时时间和重试机制(微服务)。3.feign调用远程服务,并发数量达到一定时会出直接触发hystrix fallbanck方法,原因为hystrix线程池配置问题。4.ribbom重试MaxAutoRetriesNextServer会带来幂等性问题,尽...转载 2020-03-07 16:08:51 · 2629 阅读 · 0 评论 -
GC之7大垃圾收集器详解(下)
GC之7大垃圾收集器详解目录GC之CMS收集器GC之SerialOld收集器GC之如何选择垃圾收集器GC之G1收集器第一部分请参见: GC之7大垃圾收集器详解(上)6. GC之CMS收集器CMS收集器(ConcurrentMarkSweep:并发标记清除)是一种以获取最短回收停顿时间为目标的收集器。适合应用在互联网站或者B/S系统的服务器上,这类应用尤其重视服务器的响应速度,...转载 2020-03-07 16:05:23 · 378 阅读 · 0 评论 -
GC之7大垃圾收集器详解(上)
GC之7大垃圾收集器详解目录GC之7大垃圾收集器概述GC之Serial收集器GC之ParNew收集器GC之Parallel收集器GC之ParallelOld收集器GC之CMS收集器GC之SerialOld收集器GC之如何选择垃圾收集器GC之G1收集器1. GC之7大垃圾收集器概述垃圾收集器具体实现GC算法并实现内存回收。不同厂商,不同版本的虚拟机实现差别很大,HotSpot...转载 2020-03-07 16:03:52 · 489 阅读 · 0 评论 -
jstat命令查看jvm的GC情况 (以Linux为例)
jstat命令查看jvm的GC情况 (以Linux为例)jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意!!!:使用的jdk版本是jdk8. 类加载统计: Loaded:加载class的数量 Bytes:所占用空间大小 Unloaded:未加载...转载 2020-03-05 02:21:11 · 2463 阅读 · 0 评论 -
jvm常用配置
java-Xmx3800m-Xms3800m-Xmn2g-Xss128k-XX:+UseParallelGC-XX:ParallelGCThreads=20-XX:SurvivorRatio-XX:NewRation-XX:MaxTenuringThreshold-XX:+UseParallelGC :选择垃圾收集器为并行收集器。 此配置仅对年轻代有效。即上述配置...原创 2020-02-14 14:50:54 · 511 阅读 · 0 评论 -
频繁GC (Allocation Failure)及young gc时间过长分析
序本文主要分析一个频繁GC (Allocation Failure)及young gc时间过长的case。症状gc throughput percent逐步下降,从一般的99.96%逐步下降,跌破99%,进入98%,最低点能到94% young gc time逐步增加,从一般的十几毫秒逐步上升,突破50,再突破100,150,200,250 在8.5天的时间内,发生了9000多次g...转载 2020-01-02 11:06:18 · 4636 阅读 · 0 评论 -
电商实例、业务并发、网站并发及解决办法
电商实例、业务并发、网站并发及解决方法一、怎么防止多用户同一时间抢购同一商品,防止高并发同时下单同一商品 最近在做抢购系统,但头疼的是,在多用户高并发的情况下经常会库存出现问题。排查到,在同一时间内多用户同时下单导致查询和插入不同步了,而查询中跟插入又有时间差而在高并发的情况下导致库存问题(我的项目大概是这样,首先 for update查出商品信息表,放入全局表里数组里,当用户扣款余额成...转载 2020-01-01 23:43:42 · 634 阅读 · 0 评论 -
亿级 Web 系统搭建:单机到分布式集群
本文内容Web 负载均衡 HTTP 重定向 反向代理 IP 负载均衡 DNS 负载均衡 Web 系统缓存机制的建立和优化 MySQL 数据库内部缓存 搭建多台 MySQL 数据库 MySQL 数据库机器之间的数据同步 在 Web 服务器和数据库之间建立缓存 异地部署(地理分布式) 核心集中与节点分散 节点容灾和过载保护 当一个 Web 系统从日...转载 2020-01-01 23:41:48 · 256 阅读 · 0 评论 -
开发中内存溢出问题及解决
内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。 引起内存溢出的原因有很多种,常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 3.代码中存在死循环或循环产生过多重复的对象实体; 4.使用的第三方软件中的BUG;...转载 2020-01-01 22:01:27 · 3082 阅读 · 0 评论 -
java 大数据处理之内存溢出解决办法(一)
一、内存溢出类型1、java.lang.OutOfMemoryError: PermGen spaceJVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了也...转载 2020-01-01 19:23:59 · 2067 阅读 · 0 评论 -
全面对比5大GC的内存伸缩能力
在软件开发中,很明显,与大型应用程序相比,小而灵活的微服务可以提供更多的优势。而JDK9的Jigsaw更加有助于分解我们的Java应用程序,从而构建更适合云原生的应用程序和微服务。而随着服务的用户越来越多,我们的应用程序需要水平扩容。在这个扩容过程中,其在单个容器中的预配置资源消耗将复制到每个实例。如此一来,正确配置垃圾回收器,这个Java程序最基础的组件,将会很大程度的影响整个项目对资源的利用率...转载 2019-10-15 15:47:44 · 588 阅读 · 0 评论 -
FullGC实战:业务小姐姐查看图片时一直在转圈圈
业务小姐姐说图片访问不了,我开始慌了:loading配图看到业务小姐姐发的这个图片,你说能不慌嘛?但是再慌也要排查问题呀!对于这种前端响应不过来的问题,首先就用浏览器的F12看看接口响应速度(获取图片地址的接口)从而确认是接口响应慢还是网络等其他问题。我勒个去,耗时10多秒呀!这时候我的心里更慌了。问题排查既然能确认问题在服务端,那么就查看服务端日志,准备寻找蛛丝马迹。由于服务...转载 2019-10-15 14:59:53 · 708 阅读 · 0 评论 -
Spring事务管理与传播机制详解以及使用实例
写这篇博客之前我首先读了《Spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解Spring事务配置的五种方式Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。比如你去ATM机取1000块钱,大体有两个步骤:...转载 2019-10-15 01:23:41 · 259 阅读 · 0 评论 -
使用 Apache MINA 2 开发网络应用
Apache MINA 2 是一个开发高性能和高可伸缩性网络应用程序的网络应用框架。它提供了一个抽象的事件驱动的异步 API,可以使用 TCP/IP、UDP/IP、串口和虚拟机内部的管道等传输方式。Apache MINA 2 可以作为开发网络应用程序的一个良好基础。下面将首先简单介绍一下 Apache MINA 2。Apache MINA 2 介绍Apache MINA 是 Apa转载 2014-04-07 12:43:47 · 1231 阅读 · 0 评论 -
Eclipse RCP相关的学习资料及国内相关图书点评
yuanwen最近又去图书城逛了一圈,想看看有没有什么意外的惊喜,特别是想看看有没有Eclipse RCP方面写得比较深入的图书。然而结果是非常令人失望的。在整个计算机图书区,找不到一本和Eclipse有关的,更别谈RCP了。Java GUI编程的书不是没有,然而都是讲Swing和JavaFX的,似乎Eclipse RCP这个技术从来就不存在。 我前前后后也读过几本Eclipse的书转载 2014-04-07 12:38:09 · 1669 阅读 · 0 评论 -
Spring AOP中pointcut expression表达式解析
Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的.Pointcut可以有下列方式来定义或者通过&& || 和!的方式进行组合. args()@args()execution()this()target()@target()within()@within()@annotation其中executio转载 2016-03-29 18:05:24 · 760 阅读 · 0 评论 -
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lock C转载 2016-03-08 13:59:58 · 1116 阅读 · 0 评论 -
C3p0源码探索(一)之配置篇
C3p0源码探索(一)之配置篇所需文件:1、 c3p0-0.9.1.2.jar http://sourceforge.net/projects/c3p0/2、 mysql.jar http://dev.mysql.com/downloads/connector/j/5.0.html3、 c3p0-0.9.1.2http://nchc.dl.sourcef转载 2016-03-11 09:50:01 · 2181 阅读 · 0 评论 -
Linux 后台运行jar程序
方法一:Linux代码 nohup java -jar xx.jar >/dev/null & 输出文件为输出到空设备里。方法二:编写shell后台开启。代码参考:Linux代码 #! /bin/sh #启动方法 start(){ now=`date "+%Y%m%d%H%M%S"` exec java -X转载 2016-04-25 16:40:29 · 1013 阅读 · 0 评论 -
深入浅出MyBatis-Sqlsession
前面的章节主要讲mybatis如何解析配置文件,这些都是一次性的过程。从本章开始讲解动态的过程,它们跟应用程序对mybatis的调用密切相关。本章先从sqlsession开始。创建正如其名,Sqlsession对应着一次数据库会话。由于数据库回话不是永久的,因此Sqlsession的生命周期也不应该是永久的,相反,在你每次访问数据库时都需要创建它(当然并不是说在Sqlsession转载 2016-04-25 19:29:27 · 517 阅读 · 0 评论 -
JAVA中ListIterator和Iterator详解与辨析
在使用java集合的时候,都需要使用Iterator。但是java集合中还有一个迭代器ListIterator,在使用List、ArrayList、LinkedList和Vector的时候可以使用。这两种迭代器有什么区别呢?下面我们详细分析。这里有一点需要明确的时候,迭代器指向的位置是元素之前的位置,如下图所示: 这里假设集合List由四个元素List转载 2016-04-26 11:48:09 · 582 阅读 · 0 评论 -
使用Spring进行切面(AOP)编程
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。Aspect(切面)指横切性的关注点的抽象即为转载 2016-05-11 17:24:46 · 913 阅读 · 0 评论 -
Spring Aop实例之xml配置
AOP的配置方式有2种方式:xml配置和AspectJ注解方式。今天我们就来实践一下xml配置方式。 我采用的jdk代理,所以首先将接口和实现类代码附上package com.tgb.aop; public interface UserManager { public String findUserById(int userId);转载 2016-05-11 17:49:21 · 453 阅读 · 0 评论 -
ToStringBuilder学习(一):常用方法介绍
一、简介与引入 1、ToStringBuilder、HashCodeBuilder、EqualsBuilder、ToStringStyle、ReflectionToStringBuilder、CompareToBuilder等这些类都是位于commons-lang.jar下面的,所以要使用这些类一定要导入commons-lang.jar。 2、为什么要使用ToStringBuild转载 2016-05-19 16:02:27 · 923 阅读 · 0 评论 -
spring注解完整版
使用Spring2.5的新特性——Autowired可以实现快速的自动注入,而无需在xml文档里面添加bean的声明,大大减少了xml文档的维护。以下是一个例子:先编写接口Man:public interface Man { public String sayHello(); } 然后写Man的实现类Chinese和American:@Service publi转载 2016-05-12 17:51:51 · 813 阅读 · 0 评论 -
Spring依赖注入:注解注入总结
package cn.outofmemory.helloannotation;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;/** * Hello world!转载 2016-05-12 18:16:14 · 898 阅读 · 0 评论 -
C3P0配置实战
C3P0: 一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。 默认情况下(即没有配置连接池的情况下),Hibernate会采用内建的连接池。但这个连接池性能不佳,因此官方也只是建议仅在开发环境下使用。Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxo转载 2016-05-13 11:45:22 · 651 阅读 · 0 评论 -
@RequestParam @RequestBody @PathVariable 等参数绑定注解详解
引言:接上一篇文章,对@RequestMapping进行地址映射讲解之后,该篇主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用;简介:handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型)A、处理requet uri 部分(这里指转载 2016-05-27 15:25:08 · 532 阅读 · 0 评论 -
Spring整合Hibernate 声明式的事务管理
Spring大战Hibernate之声明式的事务管理Spring配置文件:添加事务管理类的bean: 该类由Spring提供,如果是hibernate4那就用"org.springframework.orm.hibernate4.HibernateTransactionManager"(Spring2不支持hibernate4)。把sess转载 2016-05-18 10:06:09 · 1823 阅读 · 0 评论 -
SpringMVC+Hibernate+Spring整合实例(一)
SpringMVC又一个漂亮的web框架,他与Struts2并驾齐驱,Struts出世早而占据了一定优势,我在博客《Struts1+Hibernate+Spring整合实例》中做了一个简单的实例,介绍了SSH1的基本搭建方式,Struts2是根据Struts1发展而来,博客中就没有贴SSH2的例子,只对比了下Struts1和Struts2异同,通过对比,SSH2的搭建基本不在话下了。下面同样做一个转载 2016-05-18 14:26:07 · 698 阅读 · 0 评论 -
Spring注解@Component、@Repository、@Service、@Controller区别
很长时间没做web项目都把以前学的那点框架知识忘光了,今天把以前做的一个项目翻出来看一下发现用·@Component标记一个组件,而网上有的用@Service标记组件,我晕就查了一下资料:Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring转载 2016-05-20 15:18:00 · 447 阅读 · 0 评论 -
使用Python+jieba和java+庖丁分词在Spark集群上进行中文分词统计
写在前边的话: 本篇博客也是在做豆瓣电影数据的分析过程中,需要对影评信息和剧情摘要信息进行分析而写的一篇博客 以前学习Hadoop时,感觉做中文分词也没那么麻烦,但是到了Spark,却碰到了诸多困难,但幸好最终都解决了这些问题,而得到了正确的结果,这里我们不解释具体的spark语法之类的,着重于解决中文分词统计这个问题 同步gith转载 2016-11-15 19:14:44 · 1653 阅读 · 0 评论 -
mybatis实战教程(mybatis in action),mybatis入门到精通
读者注:其实这个应该叫做很基础的入门一下下,如果你看过hibernate了那这个就非常的简单)(再加一条,其实大家可以看官方的教程更好些:http://mybatis.github.io/mybatis-3/,而且如果英文不是很好的那就看中文的:http://mybatis.github.io/mybatis-3/zh/sqlmap-xml.html)写在这个系列前面的话:以前转载 2016-12-21 14:07:45 · 530 阅读 · 0 评论 -
Springmvc @RequestMapping测试各种访问方式
配置视图解析器[java] view plain copy package com.kute.controller; import java.util.List; import org.springframework.stereotype.Controller; import org.转载 2016-12-21 14:09:22 · 2676 阅读 · 0 评论 -
java使用Nagao算法实现新词发现、热门词的挖掘
采用Nagao算法统计各个子字符串的频次,然后基于这些频次统计每个字符串的词频、左右邻个数、左右熵、交互信息(内部凝聚度)。名词解释: Nagao算法:一种快速的统计文本里所有子字符串频次的算法。详细算法可见http://www.doc88.com/p-664123446503.html 词频:该字符串在文档中出现的次数。出现次数越多越重要。 左右邻个数:文档中该字符串的左边转载 2016-12-15 15:26:45 · 4837 阅读 · 2 评论 -
java中 obj=null对垃圾回收有用吗
前言 之前看书的时候,看到了方法执行的内容,忽然就想到了这么一个有趣的东西.然后就特意开一个贴,把一些前人,大大的知识做一个汇总,做一下记录吧. 正文 相信,网上很多java性能优化的帖子里都会有这么一条 写道尽量把不使用的对象显式得置为null.这样有助于内存回收 可以明确的说,这个观点是基本错误的.sun jdk转载 2016-12-22 11:22:31 · 2799 阅读 · 1 评论 -
[Java 8] (1) 函数式编程简介
思维方式的转变以从一个城市集合中寻找是否存在Chicago为例:习惯的方式boolean found = false;for(String city : cities) { if(city.equals("Chicago")) { found = true; break; }}System.out.println("Fo转载 2017-01-03 00:08:27 · 357 阅读 · 0 评论 -
[Java 8] (2) Lambda在集合中的使用
Lambda在集合中的使用列表的遍历提起对于集合的遍历,恐怕下面的这种方式已经是一种思维定式了吧:final ListString> friends = Arrays.asList("Brian", "Nate", "Neal", "Raju", "Sara", "Scott");for(int i = 0; i friends.size(); i++) {转载 2017-01-03 00:11:11 · 505 阅读 · 1 评论