java
zhuyuansj666
后端你别闹,热爱编程,热爱运营,热爱自媒体,性别男,爱好女,兴趣爱好广泛,旅游唱歌噶塞无,欢迎随时撩我。个人公众号java部落.
展开
-
mysql性能优化
现在市面上mysql主流版本号是5.5, 5.7 ,8.0,5.7这个版本相对来说稳定性和兼容性都已经得到市场的验证,是比较好的一个版本。###1.mysql中有MyISAM引擎与InnoDb引擎,他们之间区别是什么InnoDb索引文件和数据文件是在一起的,只要查找索引文件后就可以连接到数据文件,查一次即可,效率高。现在主流使用InnoDb引擎2.为什么InnoDb引擎表必须有主键,并且推荐使用整形的自增方式?即使不创建主键id,mysql还是会默认创建一个rowid作为自增主键,用来做范围查询,这原创 2021-09-21 22:59:54 · 239 阅读 · 0 评论 -
Flyway数据迁移工具使用和安装
以前生产环境数据库增加字段是写一个sql放入本地,到时候部署生产环境的时候先手动执行sql,在部署项目。Flyway数据迁移工具主要是用来控制数据库增删改的版本控制,类似于git,可是相比git代码管理,他的版本控制是通过数据库当中的flyway_schema_history来控制的,这样每次部署生产环境的时候就不需要人工再去执行sql,部署项目的时候sql会自动执行。先新建一个springbo...原创 2020-03-19 10:34:09 · 807 阅读 · 0 评论 -
nginx反向代理的一些坑
公司现在用的是springcloud,前端部署在阿里云服务器,后台的微服务全部部署在其他公司内部服务器。主要是为了不让微服务的地址暴露在前端。因此在nginx转发到微服务的时候就需要配置二级域名。因为有微信前端和网页前端,所以80端口的转发被网页用掉了。因此这里只能通过8000来进行反向代理。如上图,如果前端访问nginxpark.cenhotec.com:8000= server_nam...原创 2018-11-24 19:23:14 · 2662 阅读 · 0 评论 -
json转换成实体类
今天同事问我个问题。她需要把字符串的json转换成实体类,但是一直报错。主要是实体类当中的内部类需要用静态字段static修饰,否则无法访问。以下是报错信息org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type [simple type, class com.macxen.sp...原创 2018-11-07 22:03:32 · 16178 阅读 · 0 评论 -
rabbitmq之mqtt学习笔记一
最近项目使用了一个新的mq,其实它属于rabbitmq当中的一个插件。之前项目使用的是activemq和ribbitmq,mqtt其实属于ribbitmq当中的一个插件,就像chrome当中的插件postman,所以花了点时间研究了下。要装mqtt首先得先把ribbitmq装好,然后再到chrome当中安装mqtt插件。1.下载并安装RabbitMQ下载地址:RabbitMQ安装好后接下...原创 2018-10-24 22:21:48 · 5372 阅读 · 0 评论 -
JSON--List集合转换成JSON对象
最近公司遇到个奇怪的问题,就是一直出现网络异常的报错,怀疑跟线程有关,由于链接的socket线程众多,于是就有了本次测试的需求,写了一个前端html,然后通过后台查询出对应的信息(大概1000人),然后再把数据给到前端,模拟手机上线的过程。要实现的图例如下。主要通过以下这篇文章得到启示.原文链接转自# MuaRine1. 简单的手动放置 键值对 到JSONObject,然后在put到...转载 2018-10-17 00:30:45 · 9561 阅读 · 0 评论 -
推荐一款安卓抓包工具(抓包精灵)
今天发现一款好用的手机上的抓包工具,叫抓包精灵。手机上通过豌豆荚搜搜抓包精灵下载即可。抓包过程及效果1.选择需要抓包的APP2.开启抓包后会显示每一条连接。3.进入查看包内容4.可查看历史5.在设置页面设为为自动保存解析内容后或者在包查看页面保存解析内容后,可以dump 解析之后的数据,地址为:sdcard/VpnCapture/Parsedata 。6.也可查看并dump原...原创 2018-10-10 16:00:16 · 70265 阅读 · 3 评论 -
介绍一款代码检测神器(阿里巴巴开发规约)
最近在优化代码,人工排查总是显得不放心,于是网上找了很多插件,这里推荐给大家一款神器,来自阿里的阿里巴巴开发公约。他会根据你的代码情况给出致命错误,错误,警告等等级的提示让程序员快速定位问题代码进行修改.这个插件也是阿里开发近半年后在2017年10月14日上午9:00 阿里巴巴于在杭州云栖大会《研发效能峰会》上,正式发布《阿里巴巴Java开发手册》扫描插件。1)在线方式,如图操作,因为我已安装...原创 2018-10-18 22:40:17 · 993 阅读 · 0 评论 -
JConsole和JVisualJVM的入门
最近公司有一个all-in-one的项目一直会出现网络异常的问题,目前通过各方面判断是由于线程的问题,引起mysql线程问题又有可能跟定时任务,长连接,另外还有可能跟jvm虚拟机的内存释放有关系,感觉可能性比较多,由于这个项目是前后端一起的,判断起来比较麻烦.下面介绍2款JDK自带的性能分析工具,JConsole和VisualJVM.前者主要用来分析内存,cpu,线程,类等。上图圈出的就是这2...原创 2018-10-18 00:59:19 · 849 阅读 · 0 评论 -
前端UI框架Ant Design Pro
一直忙于工作,也没时间总结。现在有点零散时间把之前做的笔记整理一下。目前项目使用的技术栈是,前端UI框架Ant Design Pro,数据交互使用react,后端使用的是springcloud,离线存储数据使用hadop(刚搭完还没开始用).后端的技术栈世面上基本稳定都用微服务这套,因为spring全家桶一直非常稳定。Ant Design Pro目前蚂蚁金服和阿里巴巴内部上百个项目正在尝试 P...原创 2018-09-22 14:06:34 · 4799 阅读 · 0 评论 -
linux常用指令
由于现在工作中linux用的越来越多,所以这里再重新梳理下。 1.tailf /home/tomcat/apache-tomcat-8.5.8/logs/catalina.out 查看tomcat下日志 2.show full processlist 查看是否有锁表(这个可以在navigat中查看), 如果state是wating for table meta...原创 2018-09-15 00:06:04 · 127 阅读 · 0 评论 -
redis服务启动和停止
针对 /alidata/redis-3.2.9/src 路径使用配置文件启动cd /alidata/redis-3.2.9/src 执行./redis-server /alidata/redis-3.2.9/redis.conf &使用配置文件 后台启动。目录结构如下面两个图1root@iZ23tkclljpZ:/usr/bin# redis-cli ...转载 2018-09-14 16:03:26 · 1627 阅读 · 0 评论 -
MyBatis在注解上使用动态SQL(@select使用if)
为了简化,微服务项目中使用的mybatis没有用传统的xml的mapper层,而是写在了java代码中,那如何在@Select的注解中判断传入是空的情况呢。以下是我的代码效果图: /** * @Author: sunjian * @Description: if device_id==null,carNo==null不传入 * @Date: ${DATE} ...原创 2018-11-14 01:38:09 · 18826 阅读 · 2 评论 -
springcloud之fegin远程调用得坑
现在项目使用得是springcloud,把每个模块得切成一个个服务,用来解耦,如何将他们联系起来呢,就是fegin远程调用,虽然操作比较简单,但是还是遇到了不少坑,所以在这里做下记录。具体微服务操作常用介绍,以及fegin得简单运用可以见SpringCloud微服务框架搭建这里主要讲fegin如何传参#1.marven配置<dependency><groupId>...原创 2018-11-20 21:45:37 · 7627 阅读 · 3 评论 -
支付宝支付-当面付和App支付
公司最近在做个视频桩的项目,需要在桩上用到支付宝支付功能.去年项目当中有应用过支付宝,当时前端是用react,后台返回qcode到前端后,前端通过react的插件(其实就是支付宝的sdk),拼接qcode过来的参数,然后进行支付。可以参考app支付宝快速入门这次主要是支付宝当中的另外一个功能当面付,同样还是传入qcode到前端,然后前端要拿到这个url,生成二维码,让用户进行扫描并支付,这个...原创 2018-11-18 16:26:11 · 1688 阅读 · 0 评论 -
springcloud getway入门到精通
###marven<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.6.RELEASE</version>...原创 2019-05-23 23:06:31 · 8277 阅读 · 4 评论 -
org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang(springboot1.4升级2.0的坑)
org.springframework.boot.builder.SpringApplicationBuilder.([Ljava/lang由于项目的springcloud eureka用的是1.4的版本,虽然说以后eureka会闭源,很多公司开始用console和zk来做注册中心.但是为了尽量做小的改动升级现在的版本。所以采用了以下措施。另外加入了getway的网关也需要springcloud...原创 2019-05-27 11:14:26 · 769 阅读 · 0 评论 -
springboot中junit常见报错
在springboot当中新建测试类,项目启动是没问题得,但是运行测试类就报错。主要原因是要在测试类上加入@RunWith(SpringRunner.class)@SpringBootTest@WebAppConfiguration以上三个注解,其中最主要得是@WebAppConfiguration.但是我之前的springboot项目不用这注解也能启动,发现主要原因是版本问题.1.4....原创 2019-02-24 11:57:14 · 1105 阅读 · 0 评论 -
git 如何将dev merge到master上
之前开发主要是在dev上,从master上clone下代码,开发完以后提交到dev交由测试测完没问题,再由项目经理merge到master上(生产环境).如今自己的角色改变了。需要自己meger到master。之前从来没meger过。于是网上看了些资源,加上自己git学的,大概总结以下git命令。(我平时一直用idea,但是我觉得使用命令操作是比较通用的,而且不容易出错)1.git clone ...原创 2019-02-27 22:28:29 · 1982 阅读 · 0 评论 -
kafka的安装与使用
目前项目中使用的是activemq和rabbitmq,现在简单学习一下kafka.搭了个zokeeper集群,kafka集群,作为自己kafka的一个入门.kafka的使用场景:- 日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。- 消息系统:解耦和生产者和消费者、缓存消息等。...原创 2019-02-07 19:29:32 · 438 阅读 · 0 评论 -
分布式阿波罗Apollo配置中心
分布式Apollo配置中心,其实也是一个微服务项目,里面有eurake配置中心,还有个前端。原理就是把配置文件中的key,value的值存到Apollo中,然后项目启动的时候从Apollo中读取阿波罗git下载地址1.导入数据库ApolloPortalDB和ApolloConfigDB(mysql5.7以上版本,2G内存以上)2.修改apollo-build-scripts-master/d...原创 2019-02-07 19:28:36 · 2027 阅读 · 0 评论 -
rabbitmq之mqtt的坑(qos2 not supported for connection)
之前的文章中我也有介绍mqtt,这次遇到一个问题,让我百思不得其解,由于之前在我的调试之下解决了问题,主要是部署在服务器上的mqttServer用的clientid和我本地测试用的代码用的clientid重复了,后来纠正后可以正常使用了,但是最近又不能用了,想想哪里肯定又又设置问题了。遇到这种问题的解决思路有。1.首先想想最近做了什么可能会影响到rabbitmq?2.查看rabbitmq下的...原创 2018-12-13 01:06:55 · 5179 阅读 · 0 评论 -
SpringBoot实践之---集群环境下利用Redis实现定时任务
之前的定时任务由于是单点项目,所以实现@Scheuuled后就OK了。现在如果做集群,如果不做限制,同一时刻会执行多个重复任务,这是我们不愿意看到的。现在有很多方案可以解决这种定时任务的重复,只需要增加锁。可以使用缓存redis,或者使用数据库加字段加锁(性能较低,但是最简单),还可以搭建zookper,zookper是一个树形结构,同一个key只能存一个,如果存储相同key就会报异常,利用这个...原创 2018-12-08 03:30:30 · 1628 阅读 · 0 评论 -
Springboot中如何引入本地jar包,并通过maven把项目成功打包成jar包部署(转)
Springboot中如何引入本地jar包,并通过maven把项目成功打包成jar包部署(转)最近尝试引入阿里云的短信验证码,阿里云的core sdk是maven就有的,但是短信相关的jar包却不是放在maven的,所以得引入本地的下载回来的jar包。本地开发直接引入,idea是可以直接跑调用是没问题的。但是打成jar包部署的时候,项目能跑,但是到关键的调用短信sdk的时候就爆ClassNofF...原创 2018-11-24 21:26:14 · 689 阅读 · 0 评论 -
来自一个程序员的内心世界
一入编程深似海,从此再无双休日.在我们行当一直有这么一个民间歌谣。程序猿很辛苦,这是必然的.路漫漫其修远兮,吾将上下而求索。天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身。总而言之,程序猿是钱多话少死得快。当然这些都是业界大家的自嘲。程序猿的感情生活是什么样的呢。下面我来说一下。 一、程序猿问科比:“你为什么这么成功? ”科比:“你知道洛杉矶凌晨四点是什么样...原创 2018-08-25 22:18:14 · 369 阅读 · 0 评论 -
开发过程中快速抓包并解析(序)
序上篇 接上篇文章,让我百思不得奇解的问题今天终于迎刃而解。经过此次磨练,找bug功力又深了一层。 前端传的是json字符串,比如[{“qqq”,”bbb”}]这种,发现{}没有转义,必须要转义成图中这种%7B%这种才能正常将数据传送到后台,否则就会报400,参数错误。最后的解决方案是将json字符串通过Base64.encodeBase64String(str.getBytes(...原创 2018-08-24 23:25:50 · 384 阅读 · 0 评论 -
开发过程中快速抓包并解析
这几天小编在工作中遇到了一个灵异事件,客户端使用的是安卓原生系统,服务端使用的是java。需求就是客户端在照相的时候可以实时上传照片。后台接收并保存,并且可以在平台上显示。看似简单的功能,确有个很大的坑。有2个平台,192.168.31.87平台是测试环境,192.168.31.239是演示环境,测试环境,演示环境,还有安卓客户端代码都是一样的,连mq,redis,nginx,数据库都是一样的。但...原创 2018-08-24 00:52:27 · 1365 阅读 · 0 评论 -
redis的使用和安装,redis基础和高级部分
在后端开发中,为了提高性能,对于一些经常查询但是又不太变化的内容会使用redis,比如前端的列表展示项等,如果数据有变化也可以清空缓存,让前端查一次数据库,所以使用redis相对高效和灵活.本文主要对于redis在linux上的使用和安装进行说明。1.redis的安装2.redis常用的命令3.在阿里云上面安装redis4.在vwmare上安装redis5.利用jedis连接red原创 2018-01-29 00:03:39 · 492 阅读 · 0 评论 -
我的第一个reactnative
###由于在做极光推送,前端使用的框架是reactnative,后台写好后为了测试一下,所以按照react官方的教程搭了遍react.开发环境:1.windows 7(建议各位如果开发react的最好还是买台mac,一台mac给你打价值远远大于mac机器自身的价值)2.安装jdk 1.8,配置环境变量3.安装安卓sdk,可以下载安卓studio4.安装python,node.js原创 2018-01-08 11:21:52 · 199 阅读 · 0 评论 -
程序员常用软件,你用了哪些
自从从事程序员这工作后,为了提高工作效率,一些必备软件必不可少.有些软件会有网页端,可以在线编辑,不需要装软件,很方便,现在就整理一下,有些可能会漏,有些可能没想到,大家可以补充一下。第一款:SublimeSublime号称是史上最性感的编辑器。如果你用过sublime后,估计你就很难再爱上其他编辑软件了。特点:性感的编辑器,插件丰富,界面清爽。软件截图:第二款:M原创 2018-01-23 16:47:59 · 47469 阅读 · 31 评论 -
1小时轻松上手springmvc,视频网站后台开发
1小时轻松上手springmvc,视频网站后台开发原创 2017-12-31 22:38:43 · 1727 阅读 · 1 评论 -
axure扫盲
axure扫盲原创 2017-12-31 22:38:04 · 281 阅读 · 1 评论 -
快速上手友盟推送前后端
快速上手友盟推送前后端原创 2017-12-31 22:37:28 · 2625 阅读 · 0 评论 -
H5混合开发二维码扫描以及调用本地摄像头
H5混合开发二维码扫描以及调用本地摄像头原创 2017-12-31 22:36:51 · 11171 阅读 · 8 评论 -
postman导入和给接口取中文名字
postman导入和给接口取中文名字原创 2017-12-31 22:36:09 · 3774 阅读 · 0 评论 -
app支付宝快速入门
app支付宝快速入门原创 2017-12-31 22:35:46 · 334 阅读 · 0 评论 -
如何制作公众号二维码
如何制作公众号二维码原创 2017-12-31 22:35:00 · 7902 阅读 · 2 评论 -
如何在阿里云linux上部署java项目
如何在阿里云上linux部署java项目原创 2017-12-31 22:29:32 · 519 阅读 · 0 评论 -
SpringCloud微服务框架搭建
一、微服务架构1.1什么是分布式不同模块部署在不同服务器上作用:分布式解决网站高并发带来问题1.2什么是集群多台服务器部署相同应用构成一个集群作用:通过负载均衡设备共同对外提供服务1.3什么是RPCRPC 的全称是 Remote Procedure Call 是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过...原创 2018-02-12 22:45:19 · 3385 阅读 · 1 评论 -
将execel表格的数据导入到mysql数据库
在开发中经常会将现成的execel表格导入到数据库里,否则一个个字段插入填写,太浪费时间,效率很低。本文主要是讲如果将execel表格导入到mysql数据库,希望对各位有所帮助。 使用软件: sql工具:navicat 数据库:mysql office环境:execel2007 是不是觉得非常犀利呢。 原文链接: https://w...原创 2018-04-07 15:37:28 · 433 阅读 · 0 评论