JAVA
文章平均质量分 67
代码菜鸟旺仔
在代码的世界里没有什么做不到的
展开
-
jstack命令和JAVA线上故障排查
一、jstack 命令参数二、jstack解决问题1、死循环导致cpu飙高死循环的例子:https://blog.csdn.net/goldenfish1919/article/details/8755378步骤:查找进程-》查找线程-》分析threadDump日志-》找出问题代码a、查看cpu高的java进程 topb、生成进程下所有线程的栈日志 jstack 1721 > 1712.txtc、查看进程下哪些线程占用了高的cputop -p 1712 -Hd、将十进制pi原创 2021-05-07 14:33:21 · 1074 阅读 · 1 评论 -
spring 循环依赖,三级缓存
作者:苏三说技术链接:https://www.zhihu.com/question/438247718/answer/1730527725来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。1.由同事抛的一个问题开始最近项目组的一个同事遇到了一个问题,问我的意见,一下子引起的我的兴趣,因为这个问题我也是第一次遇到。平时自认为对spring循环依赖问题还是比较了解的,直到遇到这个和后面的几个问题后,重新刷新了我的认识。我们先看看当时出问题的代码片段:@Se.转载 2021-04-19 10:14:33 · 375 阅读 · 0 评论 -
Java线程池七个参数详解Executors
java多线程开发时,常常用到线程池技术,这篇文章是对创建java线程池时的七个参数的详细解释。从源码中可以看出,线程池的构造函数有7个参数,分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler。下面会对这7个参数一一解释。一、corePoolSize 线程池核心线程大小线程池中会维护一个最小的线程数量,即使这些线程处理空闲状态,他们也不会被销毁,除非设置了allowCoreThrea原创 2021-04-08 14:01:54 · 730 阅读 · 0 评论 -
ZooKeeper和CAP理论及一致性原则
ZooKeeper和CAP理论及一致性原则一、CAP理论概述CAP理论告诉我们,一个分布式系统不可能同时满足以下三种一致性(C:Consistency)可用性(A:Available)分区容错性(P:Partition Tolerance)这三个基本需求,最多只能同时满足其中的两项,因为P是必须的,因此往往选择就在CP或者AP中。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NS5yD5JX-1584607472252)(http://www.ymq.io/转载 2021-04-08 13:59:26 · 186 阅读 · 0 评论 -
Java学习之路——CAP理论
CAP理论加州大学伯克利分校 Eric Brewer教授提出一个分布式系统特性具CAP理论:在分布式系统中,是不存在同时满足一致性 Consistency、可用性 Availability和分区容错性 Partition Tolerance三者的。在绝大多数的场景,都需要牺牲强一致性来换取系统的高可用性,系统往往只需要保证最终一致性即可。Consistency(一致性) 强一致性就是在客户端任何时候看到各节点的数据都是一致的(All nodes see the same data at the s转载 2021-04-08 13:50:57 · 187 阅读 · 0 评论 -
spring
原创 2020-09-29 10:05:48 · 89 阅读 · 0 评论 -
nacos 1.3.0源码解析(一)
nacos 0.3.0源码解析(一)第一步:从github上面拉取nacos代码git clone -b master git@github.com:hzwjava/nacos.git nacos拉取下来代码如下原创 2020-06-23 16:56:04 · 378 阅读 · 0 评论 -
JDK1.8源码分析之ThreadPoolExecutor
一、前言 JUC这部分还有线程池这一块没有分析,需要抓紧时间分析,下面开始ThreadPoolExecutor,其是线程池的基础,分析完了这个类会简化之后的分析,线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。下面开始分析。二、ThreadPoolExecu转载 2016-08-28 19:52:54 · 3608 阅读 · 1 评论 -
JDK1.8 ArrayBlockingQueue源码分析
目的:本文通过分析JDK源码来对比ArrayBlockingQueue 和LinkedBlockingQueue,以便日后灵活使用。1. 在Java的Concurrent包中,添加了阻塞队列BlockingQueue,用于多线程编程。BlockingQueue的核心方法有:boolean add(E e) ,把 e 添加到BlockingQueue里。如果BlockingQueue原创 2016-08-28 19:08:45 · 2476 阅读 · 0 评论 -
Dubbo生产者抛出自定义异常的问题
最近开始学习Dubbo框架,在工作中会把之前的业务迁移过来。 在原来的Spring MVC框架实现中,有使用到自定义异常的场景(自定义异常继承RuntimeException)。而对于异常(包括自定义异常),在业务代码中都不做任何try-catch操作,而是由公用的Controller来处理异常。 在使用dubbo的过程中,在dubbo的service端定义有自原创 2016-08-29 21:51:58 · 19914 阅读 · 6 评论 -
zookeeper 3.4.6安装
[shxd@iZbp10vmnn5rfggtb6aec4Z src]$ cd zookeeper-3.4.6[shxd@iZbp10vmnn5rfggtb6aec4Z zookeeper-3.4.6]$ lltotal 1564drwxr-xr-x 2 shxd shxd 4096 Feb 20 2014 bin-rw-rw-r-- 1 shxd shxd 82446 Fe原创 2016-09-29 23:47:53 · 1077 阅读 · 0 评论 -
mongodb-linux-x86_64-rhel62-3.4.0部署,主从部署
1、下载mongodb-linux-x86_64-rhel62-3.4.0软件http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.0.tgzlinux 下命令输入 wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.0.tgz原创 2016-12-14 19:56:19 · 2466 阅读 · 0 评论 -
mongodb 的一些启动命令
启动命令nohup /home/sh/local/mongodb-linux-x86_64-rhel62-3.4.0/bin/mongod -dbpath /home/sh/local/mongodb-linux-x86_64-rhel62-3.4.0/db &启动nohup /home/sh/local/mongodb-linux-x86_64-rhel62-3.4.0/bin/mongo原创 2016-12-14 20:08:20 · 2450 阅读 · 0 评论 -
MYSQL 启动报错
我先说一下我安装mysql的操作吧:1、开始的时候,安装mysql,是那种解压缩就能用的软件包。我把它解压后,拷贝到/usr/local/ 目录下,并把名字命名为mysql。2、建立用户mysql。[root@localhost ~]# useradd mysql3、修改权限。[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql4、初始...原创 2018-03-07 12:28:31 · 5393 阅读 · 0 评论 -
怎么理解ConditionObject,sync.newCondition()
在java.util.concurrent包中,有两个很特殊的工具类,Condition和ReentrantLock,使用过的人都知道,ReentrantLock(重入锁)是jdk的concurrent包提供的一种独占锁的实现。它继承自Dong Lea的 AbstractQueuedSynchronizer(同步器),确切的说是ReentrantLock的一个内部类继承了AbstractQueue转载 2016-08-28 18:53:12 · 2368 阅读 · 0 评论 -
使用zxing生成嵌图片的二维码,世海夺宝二维码,邀请码
世海夺宝邀请码首先贴zxing生成二位的源码zxing的maven com.google.zxing core 2.2 package com.cmcc.web.test;import java.awt.Color;import java.awt.Graphics2D;import java.awt.Image;import java.awt.geom.AffineTr原创 2016-03-21 22:34:00 · 1723 阅读 · 0 评论 -
JAVA的可变参数,参数中有三个点
许多Java新人在看到下面的这段代码的时候,都会问一个问题:dealArray方法里那三个小点点是什么啊?[java] view plaincopypublic class TestVarArgus { public static void dealArray(int... intArray){转载 2016-04-13 15:28:24 · 778 阅读 · 0 评论 -
关于一些异常内存溢出的问题分析
最近在做一个大数据的系统,由于数据量非常大,并且对数据的保密性非常高,好了废话不说,先说说自己碰到的情况,在使用java进行数据处理并且使用c语言写的lib进行数据加密,结果在数据入库的时候导致内存溢出,这里碰到的问题找了很多原因都无法找到,不管是-Xms1024m -Xmx1024m 设置指定内存大小,和打印-verbose:gc -Xloggc:/home/Servergc.log gc回原创 2015-04-20 17:09:04 · 813 阅读 · 0 评论 -
根据Html代码片段生成图片
html生成图片原创 2015-04-17 11:43:38 · 3185 阅读 · 0 评论 -
关于对合理创建字符串对象的理解
对象的创建有多种方法, 特别是在创建字符串时, 应该尽量使用String str="hello"; 的形式,避免使用String str=new String("hello")的形式。因为使用第一种方式创建的字符串会被存储在常量池里面,在第二次创建同样字符串时,仅仅会增加一个对字符串的引用,而不会重新再创建一个对象,而使用第二种方法创建的字符串,每次都会在堆内存里面重新创建一个原创 2015-05-04 16:03:31 · 559 阅读 · 0 评论 -
关于程序Exception抛出异常和利用返回值去做判断的思考
首先大家在写程序过程中都会碰到程序发生异常,这个时候你会选择利用一个return false; 还是thorw new Exception("error");呢?让我们去看下jdk的源码中对于Exception用的频率在java.io的包中我们去看下BufferedReader读取文件类中的readLine()方法 /** * Reads a line of text.原创 2015-05-15 16:37:41 · 5924 阅读 · 2 评论 -
对kafka中zookeeper启动过程解析
首先kafka中zookeeper启动的命令是:/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties &查看zookeeper-server-start.sh里面最后一行是:exec $base_dir/kafka-run-class.sh $EXTRA原创 2015-05-14 14:21:56 · 18005 阅读 · 0 评论 -
Eclipse设置、调优、使用
eclipse调优 一般在不对eclipse进行相关设置的时候,使用eclipse总是会觉得启动好慢,用起来好卡,其实只要对eclipse的相关参数进行一些配置,就会有很大的改善。 加快启动速度 1.在eclipse启动的时候,它总是会搜索让其运行的jre,往往就是这个搜索过程让eclipse启动变慢了。(没设置时,等2-3s出现进度条,设置后直接出现进度条) 只要在eclip原创 2015-05-29 09:14:07 · 400 阅读 · 0 评论 -
linux nginx的安装
首先下载pcre-8.12.tar.gzhttp://download.csdn.net/detail/qq_22929803/8771933tar -zxvf pcre-8.21.tar.gzcd pcre-8.21./configuremakemake install如果在./configure提示权限不够的话那就用chmod 7原创 2015-06-04 14:29:28 · 747 阅读 · 0 评论 -
hadoop2.6.0三台服务器分布式集群环境的搭建
首先使用虚拟机开启三个服务器hadoop1 :192.168.184.128hadoop2 :192.168.184.129hadoop3 :192.168.184.130使用hadoop1登录安装jdk 查看java版本java -version rpm -qa |grep java卸载linux自带的javayum -y re原创 2015-05-19 17:00:27 · 1031 阅读 · 0 评论 -
关于指定的经纬度是否落在多边形内
这个想法就是判断一个点向左的射线跟一个多边形的交叉点有几个,如果结果为奇数的话那么说明这个点落在多边形中,反之则不在。直接贴代码吧A:B:C:D:package com.cmcc.monitor.test;public class GisTest { public static void main(String[] args) {原创 2015-07-09 15:55:55 · 10047 阅读 · 8 评论 -
GIS开发常用算法原理分析
摘要:计算机的出现使得很多原本十分繁琐的工作得以大幅度简化,但是也有一些在人们直观看来很容易的问题却需要拿出一套并不简单的通用解决方案,比如几何问题。作为计算机科学的一个分支,计算几何主要研究解决几何问题的算法。在现代工程和数学领域,计算几何在图形学、机器人技术、超大规模集成电路设计和统计等诸多领域有着十分重要的应用。在本文中,我们将对计算几何常用的基本算法做一个全面的介绍,希望对您了解并转载 2015-07-09 16:05:27 · 7019 阅读 · 0 评论 -
关于2015年中一点小总结
不知不觉2015年已经过了一大半了,废话不多说了,简单的总结下今年的工作吧1:项目①精准营销②开放平台③江西征信平台④职级分析项目⑤solr服务⑥大数据盒子(到目前为止让我学到最多的一个项目)⑦广告网关(负责任务分发和主要数据抗压)2:学到的新技术①linux服务的一些技术②服务器的部署③kafka(消息中间件)④solr(搜索引原创 2015-09-29 15:58:15 · 443 阅读 · 0 评论 -
spring 事务和数据回滚和事件切入点定义
今天遇到了一个spring事务不会回滚的问题,搞了一天晚上在群里面得到大神的帮助才得以解决,不多说了先贴配置文件吧<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.sprin原创 2015-10-30 20:23:33 · 3320 阅读 · 0 评论 -
GeoHash核心原理解析 附近的人算法
引子 机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西。某一天机机到北海公园游玩,肚肚饿了,于是乎打开手机地图,搜索北海公园附近的餐馆,并选了其中一家用餐。 饭饱之后机机开始反思了,地图后台如何根据自己所在位置查询来查询附近餐馆的呢?苦思冥想了半天,机机想出了个方法:计算所在位置P与北京所有餐馆的距离,然后返回距离 机机的计算思转载 2016-04-01 22:29:53 · 878 阅读 · 0 评论 -
Geohash距离估算 附近的人的距离
一、经纬度距离换算a)在纬度相等的情况下: 经度每隔0.00001度,距离相差约1米; 每隔0.0001度,距离相差约10米; 每隔0.001度,距离相差约100米; 每隔0.01度,距离相差约1000米; 每隔0.1度,距离相差约10000米。 b)在经度相等的情况下: 纬度每隔0.00001度,距离相差约1.1米; 每隔0转载 2016-04-01 22:31:27 · 5010 阅读 · 0 评论 -
管理员必备的20个Linux系统监控工具
管理员必备的20个Linux系统监控工具需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧。大多数Linux发行版本都装备了大量的监控工具。这些工具提供了能用作取得相关信息和系统活动的量度指标。你能使用这些工具发现造成性能问题可能原因。此次讨论到的工具只是分析和调试服务器下面问题时最基本工具中的一部分。1.找出瓶颈2.硬盘(存储)瓶颈3.CP转载 2015-03-10 20:22:27 · 575 阅读 · 0 评论