java
过劳肥码农
这个作者很懒,什么都没留下…
展开
-
利用VisualVm远程监控Java进程
本着在win上监控远程多台liunx 系统中的 java进程想法,做的一系列配置要实现远程监控Java进程,必须在远程主机(运行Java程序的主机)上跑一个jstatd进程,这个进程相当于一个agent,用来收集远程主机上的JVM运行情况,然后用VisualVm连接到这个jstatd,从而实现远程监控的目的第一步,在远程服务器上 的java的安装目录的bin目录下 创建文件 t...原创 2019-06-17 19:38:40 · 1671 阅读 · 0 评论 -
springmvc+websocket 框架搭建
1、WebSocket简介WebSocket是HTML5提供的一种全双工通信的协议,通常是浏览器(或其他客户端)与Web服务器之间的通信。这使得它适合于高度交互的Web应用程序,如及时通讯聊天等。WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——可以通俗的解释为服务器主动发送信息给客户端。WebSocke转载 2017-11-11 14:13:19 · 7837 阅读 · 0 评论 -
maven项目在tomcat启动的时候报java.lang.ClassNotFoundException
maven项目在tomcat启动的时候报 java.lang.ClassNotFoundException在检查有这个类,而且其他配置也都正确...pom.xml也都正确.解决方案:1.右键点击项目--选择Properties选择Deployment Assembly,在右边点击Add按钮,在弹出的窗口中选择Java Buil原创 2017-11-11 11:20:15 · 2100 阅读 · 0 评论 -
使用eclipse启动tomcat启动直接在某个位置卡住...
近段时间,有次启动tomcat ,就读取配置文件的时候日志就卡住不动了.项目是使用了maven管理,springmvc+mybatis,已经一些小的框架为主在检查完各种问题之后,tomcat依旧不能成功启动,每次都还是卡那里,没有任何错误提示,不得不求助同事,然后再我们几个人的努力下,依旧没有找到问题的所在后面,无意间不使用debug的模式来启动原创 2017-10-30 19:31:21 · 1144 阅读 · 0 评论 -
史上最难的一道Java面试题 (分析篇)
原文:http://blog.csdn.net/lirenzuo/article/details/78253481题目如下:public class TestSync2 implements Runnable { int b = 100; synchronized void m1() throws InterruptedExce转载 2017-10-18 10:36:59 · 335 阅读 · 0 评论 -
Java 实现对mongodb and or 和and or联合查询操作
转载:AND:[html] view plain copy print?public void testAnd(){ //agender='female' AND age > 27 DBObject queryCondition = new BasicDBObject();原创 2017-08-31 09:28:08 · 11023 阅读 · 1 评论 -
java使用redis发布和订阅消息
1.使用maven导入相关的jar包 redis.clients jedis 2.7.2 2. 发布者package com.tbs.redis;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import java.io.IOException;impo原创 2017-08-10 11:19:26 · 3329 阅读 · 0 评论 -
$push,$each,$sort,$slice,$position 等内嵌数组操作
$push,$each,$sort,$slice,$position1,各元素解释$push 向数组中添加元素$each 循环数据$sort 对数组进行排序$slice 对整个collection表进行数据裁减,用的时候一定要当心$position 插入数据的位置。2,实例查看复制打印?db.test4.ins原创 2017-07-06 17:19:24 · 1129 阅读 · 0 评论 -
netty 项目打包发布至liunx
前言:之前我们提及了如何使用Maven来创建、管理和打包项目,也简单过了一遍Linux中搭建Java开发环境的步骤,现在我们就开始将我们之前开发的项目demo发布到Linux环境下,并让它正常运行起来。发布思路:使用Maven将项目打包为.jar将项目的.jar和项目所有依赖的jar包都复制到Linux下创建项目启动脚本来启动项目准备工作:查询Lin转载 2017-06-27 11:28:06 · 7476 阅读 · 11 评论 -
disrupter 并发框架 初始
disrupter 是一个并发框架.但是没有分布式的功效...只适合单独的一台服务器.可以用来代替queue 线程队列.他的效率比较高...转载一部分原文档,获得Disruptor可以通过Maven或者下载jar来安装Disruptor。只要把对应的jar放在Java classpath就可以了。基本的事件生产和消费原创 2017-07-14 10:46:06 · 7535 阅读 · 0 评论 -
出现错误 连接MySQL数据库,出现问题:Access denied for user 'root'@'localhost' (using password:YES)
连接MySQL数据库,出现问题:Access denied for user 'root'@'localhost' (using password:YES)。 经查找资料发现是root帐户默认不开放远程访问权限,所以需要修改一下相关权限。 解决方案:打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”原创 2017-07-12 09:43:49 · 2357 阅读 · 0 评论 -
NIO 初识
package nio.scoktIo;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.n原创 2017-05-18 17:35:40 · 310 阅读 · 0 评论 -
Spark工作机制
https://www.cnblogs.com/bovenson/p/5801533.html主要模块调度与任务分配I/O模块通信控制模块容错模块Shuffle模块调度层次应用作业StageTask调度算法FIFOFAIR(公平调度)Spark应用执行机制总览Spark应用提交后经历了一系列的转换,最后成为Task在每个节转载 2017-11-17 14:35:05 · 488 阅读 · 0 评论 -
springmvc订阅redis键过期消息通知
首先启用redis通知功能(ubuntu下操作):编辑/etc/redis/redis.conf文件,添加或启用以下内容(过期通知):notify-keyspace-events Ex或者登陆redis-cli之后,输入以下命令:config set notify-keyspace-events Ex 因键空间通知功能需要耗费一定原创 2017-11-20 23:15:26 · 8655 阅读 · 8 评论 -
放假前,写个飞行棋玩玩呀
当然是没有界面拉.....我也想写个界面,然后 ,用手机上和朋友在吃饭的时候一起玩,但是,,界面ui都木有呀,,只能写个逻辑,看文字玩了...贴代码:import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.Scanner;public class ...原创 2019-06-06 10:01:22 · 2715 阅读 · 0 评论 -
Swagger使用
源码:https://gitee.com/ouyangsilan/Jl.git 1:认识SwaggerSwagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。 作用: 1. 接口的文档在线自...转载 2018-10-23 16:29:26 · 453 阅读 · 0 评论 -
java|springboot 启动项目日志乱码,
在我们java开发者可能会经常碰到 unmappable character for encoding错误,错误原因是:源代码中包含GBK编码中不包含的字符,解决方法:源代码中包含GBK编码中不包含的字符,•删除该字符 •将源代码文件存为UTF-8编码unmappable character for encoding错误, 不过上网查询后得知,java的class文件使用的是UTF-8...转载 2018-09-12 10:41:52 · 3188 阅读 · 0 评论 -
匹配字符串相似度算法(各个语言版本)
原文链接:https://blog.csdn.net/baidu_23086307/article/details/53020566 C++版#include <iostream>#include <vector>#include <string>using namespace std;//算法int ldistance(const s...转载 2018-07-20 14:28:29 · 4126 阅读 · 0 评论 -
分布式锁的多种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致...转载 2018-05-28 10:36:35 · 402 阅读 · 0 评论 -
阿里代码规范 p3c 安装使用
此文参考 : https://github.com/alibaba/p3c eclipse 安装 插件 :Help >> Install New Software then enter this update site URL https://p3c.alibaba.com/plugin/eclipse/update 和安装普通的插件一样,一直下一步,知道完成....原创 2018-05-25 10:16:55 · 4337 阅读 · 1 评论 -
Spring 从文件系统读取配置文件, 使用@PropertySource
spring 使用 绝对路径去读取配置时@Component@PropertySource(value = "D://wxpay.properties",encoding="utf-8") //本地配置是不能这样的,要这样@Component@PropertySource(value = "file:D://wxpay.properties",encoding="utf-8") //本地配置不然...原创 2018-03-12 17:57:38 · 1921 阅读 · 0 评论 -
eclipse中java9,web项目出现Project facet Java version 9 is not supported..
最近,我把项目的jdk换成了9,各种问题接憧而至,今天,又遇到了这个问题是因为我使用的是java9,tomcat9 ,,,项目的jdk和tomcat的jdk版本不同.要解决这个问题可以去在项目上点击右键,将jdk换回低版本的,但是我用了很多java9的特性,是不可能换回去的..而我之前 tomcat9配java9,一直好好的,这个时候将tomcat从原创 2018-02-22 16:18:15 · 7286 阅读 · 0 评论 -
细数 java9搭配eclipse oxygen 版本的坑
java 9出来了,一些特性让我迫不及待的去尝试,于是把公司的java版本换成了9 ,于是开始了我一系列作死的开始!现在想调回去,就需要花费太多时间,因为我使用了java9的特性,default这个关键字 确实好用,不得不承认!1.java9 需要搭配 比较新的eclipse,所以我选择了 oxygen ,其他的就算修改配置启动成功,坑比这个版本还多,没有原因,就是因为java9新出,很多不兼容吧...原创 2018-02-26 21:08:53 · 8914 阅读 · 3 评论 -
java jwt 制作 登录token标识
什么是jwt>?Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token原创 2018-01-24 20:46:09 · 7007 阅读 · 0 评论 -
随机均衡分配,抽奖的一个随机算法
最近在写一个随机的均衡的一个抽奖的算法,要保证不能连续抽中, 要均衡一点,不能超过指定的中奖数,当然也不能小于,必须是这个中奖数字,下面是我写的一个,, 0表示不中,1表示中,就这样生成一串奖池..个人数学比较差,,也没啥好的方式,所以贴出来求大家指点指点.方法中的 c参数是奖池的总数量 p是这次奖池里面会抽中多少次.public void in原创 2017-12-17 23:47:19 · 4862 阅读 · 0 评论 -
java中hashmap的个人理解和分析(1.8版本)
1.hashmap说明概述:hashMap是基于哈希表的map接口的非同步实现,相对hashtable来说,是hashtable的轻量级的实现.允许null值的出现,通过键值对来存储,主要通过get和put来操作数据的插入和查询2.hashmap 数据结构在java中,数据结构中有数组和链表来实现对数据的存储,数组: 数组存储区间是连续的,占用内存严重,故空原创 2017-12-07 17:23:40 · 621 阅读 · 0 评论 -
个人记录jdk各版本之间的一些区别
我也没有去看jdk官方发布的一些通知,这里只记录我平常遇到的一些区别1. @override 报错,明明是重写了父类或者接口的方法,加上这个注解,却提示报错.把jdk改成1.6就不会报错了,jdk1.5之前这个就有,算是个bug吧. 2. switchString a="";switch (a) {case "":break;d原创 2017-12-05 23:09:21 · 5753 阅读 · 0 评论 -
spring+netty服务器搭建
游戏一般是长连接,自定义协议,不用http协议,BIO,NIO,AIO这些我就不说了,自己查资料我现在用spring+netty搭起简单的游戏服思路:1自定义协议和协议包;2spring+netty整合;3半包粘包处理,心跳机制等;4请求分发(目前自己搞的都是单例模式)下个是测试用的,结构如下首先自定义包头Header.j转载 2017-06-26 18:18:14 · 24736 阅读 · 19 评论 -
ExecutorService 线程池
本篇主要涉及到的是java.util.concurrent包中的ExecutorService。ExecutorService就是Java中对线程池的实现。一、ExecutorService介绍ExecutorService是Java中对线程池定义的一个接口,它java.util.concurrent包中,在这个接口中定义了和后台任务执行相关的方法: Java API转载 2017-05-18 11:47:24 · 8276 阅读 · 0 评论 -
volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解转载 2017-05-23 15:09:38 · 238 阅读 · 0 评论 -
校验银行卡是否正确
多说无益,贴代码:/** * 校验银行卡卡号 * * @param cardId * @return */ public static boolean checkBankCard(String cardId) { char bit = getBankCardCheckCode(cardId .substring(0, cardId.length() - 1)原创 2017-01-20 10:31:32 · 1682 阅读 · 0 评论 -
XStream解析[以支付宝解析为列子]
XStream Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。Xstream也可以将JavaBean序列化成Json或反序列化,使用非常方便。首先介绍几个常用的注解:1.@XStreamAlias("") 别名,对应xml中节点名称原创 2017-01-20 09:57:13 · 1394 阅读 · 0 评论 -
spring拓展
Spring主要提供了两类扩展点BeanPostProcessor和BeanFactoryPostProcessor。前者是操作bean的实例,后者使对bean的元数据定义进行扩展。BeanPostProcessor接口说明BeanPostProcessor提供对bean实例的操作扩展,在spring容器对bean实例化和设置依赖之后,其回调开始执行。BeanPostPro原创 2017-02-17 10:45:10 · 262 阅读 · 0 评论 -
sleep和wait的区别
sleep():正在执行的线程主动让出CPU(然后CPU就可以去执行其他任务),在sleep指定时间后CPU再回到该线程继续往下执行。注意:sleep方法只让出了CPU,而并不会释放同步资源锁!!!wait():则是指当前线程让自己暂时退让出同步资源锁,以便其他正在等待该资源的线程得到该资源进而运行,只有调用了notify()方法,之前调用wait()的线程才会解除wait状态,可以去参与转载 2017-01-12 19:22:09 · 276 阅读 · 0 评论 -
浅谈redis事物
Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。一个事务从开始到执行会经历以下三个阶段:开始事务。命令入队。执行事务。实例原创 2017-01-17 15:20:20 · 374 阅读 · 0 评论 -
jdk和jre的区别
关于jdk和jre 大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装.Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦,还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢?学过MFC的都转载 2017-01-12 16:29:02 · 252 阅读 · 0 评论 -
java通过反射实列化接口
在java中,通过反射实列化接口,是比较常见的一部分.其中做的比较好的框架有spring 首先得有个接口,定义:package com.tbs.proxy;import java.util.Map;import org.apache.ibatis.annotations.Param;public interface IExample { public void set原创 2017-02-16 17:16:23 · 10044 阅读 · 12 评论 -
Jsmooth的使用方法
注:其实这个也算不的原创,只是把别人的拿过来,加入一些自己的理解.操作步骤:1、首先准备我们的资源,把要转换的Jar文件、精简过的JRE文件夹和想生成的EXE文件的图标(可以是png,jpg等格式,不想加图标可以不弄)放到同一个文件夹内。这一步一定要做,否则可以成功生成,但在没有java环境的机子上还是不能运行,因为他会找不到JRE文件夹的位置.{注解:因为这款打包的,并不能把原创 2016-12-30 10:16:45 · 3931 阅读 · 0 评论 -
fatJar插件安装
下载fatJar插件,解压缩后是一个.../plugins/(net...)把plugins下面的(net..)文件夹拷贝到eclipse的plugins下,重新启动Eclipse3.1,Windows=>prefernce=>fat jar preference看到他就说明已经安装成功了。如果没有看到,没有关系,删除D:/eclipse310/configuration/org.eclipse.原创 2016-12-29 17:01:25 · 575 阅读 · 0 评论 -
java发送邮件
话不多说,直接上代码.public static void tet() throws AddressException, MessagingException { Properties properties = new Properties(); properties.put("mail.transport.protocol", "smtp");// 连接协议 proper原创 2016-12-28 11:52:01 · 467 阅读 · 0 评论