自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

月光の雲海

不积小流,无以成江海

转载 一位资深程序员大牛给予Java学习者的学习路线建议

Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。  如果你是在校学生,务必要在学好基础(比如计算机系统、算法、编译原理等等)的前提下,再考虑去进行下

2017-02-17 00:27:00 867 1

原创 浩鲸科技高级工程师面试总结

最近因为家里原因,结束了在外瓢泼的打工生活,想回老家的省会城市--HaiKou找份开发的工作,一方面赚点生活费解决温饱的生活,一方面为了更好地陪陪家人。面试的岗位10K-15K,感觉在老家的省会城市,待遇还是属于中等偏上的。所以投了一份简历,预约了电话面试,面试进行了一个半小时。下面对面试做下总结:1.自我介绍你好,面试官,我是XXX,于xxxx参加工作,上家公司就职于xxxx,做过xxxx项目,会xxx技术,最擅长xxx,平时生活爱好。。。2.Spring AOP的原理和用处...

2020-06-23 16:37:17 371

原创 Linux服务器搭建VUE + Nginx部署环境

一.VUE相关环境搭建1.去Node.js官网选择合适版本的Node.js,下载安装wget https://nodejs.org/dist/v12.18.0/node-v12.18.0-linux-x64.tar.xz解压缩至指定文件位置xz -d node-v14.3.0-linux-x64.tar.xztar -xvf node-v14.3.0-linux-x64.tar重命名文件夹mv node-v14.3.0-linux-x64 nodeJS-V14.3.0

2020-06-03 14:42:06 276

原创 接口联调踩坑记

一个集团内部系统间为了避免数据孤岛的情况出现,总是少不了数据的同步,因此系统间的接口就必不可少。但是开发出的接口在对接的时候总是会出现各种各样奇葩的问题。这里记录几种日常接口对接所踩的坑(注意:这里的接口联调是后端传后端,并非所谓的前后端对接)1.所调接口网络不通有些公司使用的是集团内部网络,经常会出现服务器之间网络不通的情况,Linux服务器排查思路测试对接的目标接口网络#telnet命令telnet 域名/IP 端口如: telnet xxx.xxx.com 443#...

2020-05-30 21:01:15 143

原创 一些开发常用的js语句总结

在一些原生的jsp开发中,总会使用到一些js的语法。作为Java工程师,如果是在这种前后端不分离的开发模式下做开发,熟练原生的js语法是必备的工作能力。这里总结下,在jsp开发中最常用的一些js语句。1.$(function() {})函数使用示例:$(function(){ getList(); //获取页面列表}); 该函数是$(document).ready(function()的简写$(document).ready(function () { ...

2020-05-27 15:34:59 98

原创 企业微信支付的接口开发总结

涉及微信方面的开发,总是避免不了做微信支付。网上的总结繁杂而没有重点,看了摸不清思路,官方文档简单解决不了实际业务问题。于是根据业务需要写了一个微信支付接口,并做分享。...

2020-05-19 17:24:48 185

原创 给tomcat项目访问工程以外的静态文件资源

有这样一个需求:一个传统的项目,文件存储文件都是存储在Oracle数据库中或电脑指定硬盘,随着时间和用户翻雪球似的量变,Oracle文件表因为太大,查询性能十分差;而存储在硬盘的文件内存也即将满了,电脑硬盘扩容是个大问题,如果要迁移文件吧,之前的文件就不能按照之前的路径去访问查看了。改造工程迫在眉睫,托尼老师打算这样来:1.为了方便扩容和数据迁移,存储介质改成共享磁盘,就挂在在项目的服务器,把...

2020-04-30 14:05:17 109

原创 记一次生产Dubbo线程池耗尽的问题排查处理

运维的某一系统,技术架构采用Dubbo + SSM(Spring + SpringMVC + Mybatis)开发,项目拆分成N个大模块,分布式部署在N台服务器上,注册中心采用zookeeper。该系统在交付使用一段时间后,随着用户量和请求数的不断增加,出现了系统性能的瓶颈。因此需要系统治疗师给它压脉诊断,找出病端,提升性能。系统在交付之初是初始化配置的,并没有做针对性的优化。这不...

2020-04-10 15:42:27 611

原创 记一次Nginx的配置优化运维

运维的某一系统,用户达200w+,峰值浏览量500w+/每小时,系统技术架构是以Nginx为负载均衡分流的五台32G内存的Centos 7服务器。在一次节日大促活动中,该用户端(微信)告警如下:Appid: wx42d69bbdca973c57昵称: XX商城时间: 2019-05-11 08:55:02内容: 微信服务器向公众号推送消息或事件后,开发者5秒内没有返回...

2020-03-11 20:27:07 169

原创 SpringAop + @annotation注解做切入点实现APP接口的权限拦截验证

前段时间分享了文章使用Java泛型,反射,注解等技术开发高复用mini版MyBatis持久层框架,使用到了自定义注解,自定义注解是个好东西,把自定义注解放在类上边,通过java的反射机制我们可以获得该类下边所有的字段,方法,函数等。同样的方式,如果自定义一个注解,使用它放在指定的类方法(一般是程序的service层)上边,然后通过SpringAop建一个切入点,在切面的编程中做相应的...

2020-03-06 14:32:37 307

原创 关于继承RuntimeException类来自定义异常在接口开发中的使用总结

在接口开发的过程中,为了程序的健壮性,经常要考虑到代码执行的异常,并给前端一个友好的展示,这里就用到的自定义异常,继承RuntimeException类。那么这个RuntimeException和普通的Exception有什么区别呢。Exception: 非运行时异常,在项目运行之前必须处理掉。一般由程序员try catch 掉。 RuntimeException,运行时异常,在...

2019-12-19 15:53:27 172

原创 SpringBoot + Redis实现事件的发布订阅功能

消息队列,消息的发布订阅模式貌似是只有kafka,MQ类中间件才能实现的事情,但是别出新裁的是redis也同样具有这些功能。但是这些消息并没有持久化机制,属于即发即弃模式,也就是说它们不能像MQ中的消息那样保证持久化消息订阅者不会错过任何消息,无论这些消息订阅者是否随时在线。由于本来就是即发即弃的消息模式,所以Redis也不需要专门制定消息的备份和恢复机制。Redis也没有为发布者和...

2019-12-16 20:35:48 189

原创 Dubbox监控中心的搭建及SpringBoot + Zookeeper + Dubbo整合的微服务治理demo

一.准备工作 1.1 Dubbo源码的下载与编译 下载源码 1.2 Zookeeper 环境搭建,可参考本人博客: Window系统下搭建Zookeeper和Kafka环境 1.2 解压编译,在该目录下执行cmd命令mvn clean package -Dmaven.test.skip=true 1.3 进入E:\dubbox-m...

2019-12-10 17:06:05 81 1

原创 SpringCloud + JWT + Spring-Security实现Restful API在网关层的权限管理和Token管理

在移动开发中,接口的访问经常需要在请求的header中校验token,看看接口是否有访问权限,从而保证移动端功能的安全性。而token是需要在用户登录成功时获取的,成功获取后,每次访问都需要在url的request.header中携带,才能成功请求接口。这层在SpringCloud的网关层进行JWT的token校验,相当于一层身份的认证过滤。而登录认证这里则采用Spring-Securit...

2019-12-06 15:50:17 604

原创 Kafka搭建系统实时监控平台,到达时间阈值或者数量限制后并实现Redis日批量入库

代码:1.生产者import org.apache.kafka.clients.producer.Callback;import org.apache.kafka.clients.producer.KafkaProducer;import org.apache.kafka.clients.producer.ProducerRecord;import org.apache.kafka...

2019-11-22 14:51:18 246

原创 Windows系统搭建Storm 分布式实时计算开发环境

1.准备工作1.1 下载Storm apache-storm-2.0.0下载1.2 下载安装 zookeeper 步骤详看本人博客 Window系统下搭建Zookeeper和Kafka环境1.3 下载python2. 安装Storm环境2.1 下载解压Storm,默认配置即可,如有需要可修改D:\storm-2.0.0\conf 目录的storm.yaml文件2.2 启动...

2019-10-31 15:06:29 380 1

原创 用户登录与AD域集成

1.关于AD域的介绍AD的全称是Active Directory:活动目录域(Domain):1)域是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后2)两个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,...

2019-10-18 10:05:38 622

原创 SpringBoot + Kafka模拟系统心跳监测告警功能

做一个简单的kafka消息发送订阅功能,使用心跳机制进行监测,监测系统的线上健康状态,通过消息队列给kafka服务端发送健康状态标识值,在系统内实时监听消费,并做相应的业务提醒操作。因为只是介绍kafka的实现原理,心跳监测这里就不详细介绍了,感兴趣的同学可以去学习Netty相关的知识。这里使用SpringBoot Task定时任务 + 时间戳取模 模拟了心跳监测出不同的系统状态给ka...

2019-10-09 15:58:14 515

原创 Python基础运用实战----实现简单的12306自动化抢票功能

一.所谓抢票,本质上就是基于浏览器驱动,实现登录、预定、确认信息的自动化,其操作主要有以下几步组成1.登录 登录过程中,自动输入用户名和密码比较简单,难点在于识别验证码。截至目前,各种自动识别验证码的方案准确率都不高,因此,这里识别验证码由人工完成,选择图形验证码后点击“登陆”。2.基本信息填写、查询、预定在抢票的时候,需要按优先级轮询各种方案,整体没有难点3.订...

2019-10-05 14:37:27 371

原创 Python基础运用实战----实现简单爬虫,并存储到Excel

最近看了几天的Python语法,就想做个简单的Demo来巩固所学的基础知识。爬虫是python里头比较广泛而有特点的一个应用面,之前没学python之前一直在用Java爬,现在试着用python抓取一个简单的列表页。 根据需要的实现需求,大体可以分为以下几步实现:获取网页 解析网页,提取信息 将提取的信息写入Excel在编写代码前,需要导入python相关的工具...

2019-10-04 16:02:48 223

原创 Centos系统下Docker的安装与基本使用

1.查看Linux内核版本(内核在3.1+,不满足的升级)uname -r2.查看之前安装过的dockeryum list installed | grep docker3.卸载原安装的dockeryum -y remove containerd.io.x86_64yum -y remove docker-ce.x86_64yum -y remove docker-c...

2019-09-20 17:15:11 109

原创 搭建SpringBoot + SpringCloud + MyBatisPlus + Swagger接口快速开发及微服务治理基础环境

本人开发微服务接口的一些基础运用分享学习需要的基础:Maven多模块依赖相关知识,SpringCloud微服务组件知识的了解及应用经验,SpringBoot + MyBatisPlus整合的开发经验,SwaggerUI接口文档的使用。1.以下是本人搭建的微服务基础接口开发环境截图值得注意的是,微服务开发是在Maven的多模块环境下开发的,在开发之前,需要有很好的Maven开发基...

2019-09-09 21:20:47 1117

原创 CXF开发WebService接口及调用示例

一.CXF开发一个WebService接口示例1.Maven主要依赖 <!-- webservice 接口 --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http&lt...

2019-07-26 20:27:53 578

原创 SpringMVC + Swagger注解生成Rest API在线文档简介

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。Swagger是世界上最大的API开发框架,它能使后端的接口形成API文档。使用Swagger可以让前后端开发更高效,使代码解耦,减少前后端开发人员之间沟通鸿沟,让前后端开发人员更友好协调开发。1.准备工具swagger-ui 接口文档显示UI (下载)2.开发一个简单的Ja...

2019-07-24 15:23:31 237

原创 Oracle使用package来封装存储过程或函数(Function)

一.包的组成介绍包头(package):包头部分申明包内数据类型,常量,变量,游标,子程序和异常错误处理,这些元素为包的公有元素。 包主体(package body):包主体则是包定义部分的具体实现,它负责为包头中所声明子程序提供具体的实现,在包主体中还可以声明包的私有元素。 包头和包主体分开编译,并作为两个分开的对象分别存放在数据库字典中。二.Oracle包与Java接口的比较...

2019-07-17 18:40:00 475

原创 Oracle 统计分析函数使用示例

1.使用 listagg() WITHIN GROUP () 将多行字段合并成一行--LISTAGG() WITHIN GROUP()函数的使用SELECT A.ID AS "ID", A.SECURITY_CODE AS "SECURITYCODE", A.SECURITY_CODE_CHE...

2019-07-17 18:27:22 141

原创 Oracle Type在带参数传递的存储过程中的使用示例

在介绍Type之前先上一个接口返回结果的实体package com.weichai.common.utils;import java.io.Serializable;/** * 接口返回结果 * @author linhaiy * @date 2019.03.09 */public class Result implements Serializable { privat...

2019-07-16 18:22:40 256

原创 Linux搭建sqoop数据迁移工具及简单的数据迁移测试

1.准备环境及工具JDK 1.8 已搭建 Hadoop 3.1.1 已搭建 zookeeper 3.5.5 下载 hbase 2.2.0 下载 hive 3.1.1 已搭建 sqoop-1.4.7 下载 ojdbc8(该版本的驱动支持jdk1.8) 下载2.搭建zookeeper 3.5.5单机模式2.1 解压zookeepertar -zxvf apach...

2019-07-11 15:29:17 660

原创 Hive环境搭建,并配置Oracle作为元数据库

1.准备工具及环境: 1.1 hadoop环境(之前已经安装,不介绍) 1.2 hive-3.1.1 下载 1.3 Oracle服务器(已搭建,不介绍) 1.4 ojdbc8(该版本的驱动支持jdk1.8) 下载2.Hive的安装 2.1 使用WinSCP上传已下载的Hive安装包至指定安装路径(/home/fangw/bigData),并用命令tar -zxvf ap...

2019-07-09 14:53:46 736

原创 MyBatis高效同步百万级数据

一.有一个需求,需要同步百万级的数据。看到要求首先想到的是用存储过程+Job定时批量同步,后来发现这个任务是一表同步多表,且一表上的字段难以满足多表的需求,在对数据的细节处理上使用Java同步更方便,故考虑使用MyBatis foreach list的同步方式。但使用这种同步方式需要考虑性能方面的问题很多。问题一:查询返回的List数据不能太大,不然会报java.lang.OutOfMe...

2019-06-27 18:17:35 1783

原创 Linux系统搭建主从同步,哨兵机制的Redis集群,实现Redis的高可用

1.Redis 主从复制、哨兵和集群这三个有什么区别1.主从模式:读写分离,备份,一个Master可以有多个Slaves。2.哨兵sentinel:监控,自动转移,哨兵发现主服务器挂了后,就会从slave中重新选举一个主服务器。3.集群:为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器,内存/QPS不受限于单机,可受益于分布式集群高扩展性。2.哨兵(senti...

2019-06-19 15:48:37 308

原创 在Linux系统上搭建远程Redis服务器笔记

1.切换到root管理员用户,输入密码su -2.输入gcc -v 验证是否下载配置gcc编译环境,没有则yuminstallgcc-c++ 下载配置gcc3.命令wget http://download.redis.io/releases/redis-5.0.4.tar.gz或直接本地下载然后通过WinSCP工具上传到服务器4. tar -vxzf redis-5.0.4....

2019-06-17 15:11:05 301

原创 Spring Cloud入门脚手架开源项目Spring-Cloud-Cli 学习

1.后端使用的技术栈 注册中心:Spring Cloud Eureka 网关中心:Spring Cloud Zuul 服务配置:Spring Cloud Config 链路追踪:Spring Cloud Zipkin 数据库连接:Druid、Mybatis 服务鉴权:Shiro+JWT 数据库:MySQL 日志收集:ELK...

2019-06-14 15:12:07 1991 6

原创 Hbase Java API对数据的一些操作使用

代码:1.一些依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.or...

2019-05-25 19:54:23 262

原创 logstash批量导入Oracle关联查询的数据到Elasticsearch索引库

1.安装好logstash后,在该文件夹下的bin目录下新建文件夹conf,新建logstash导入数据启动文件,和导入数据的配置新建要导入数据的索引 newIndex jdbc.confinput { stdin { } jdbc { jdbc_connection_string => "jdbc:oracle:thin:@3.44.10.58:...

2019-05-25 19:22:14 826

原创 SpringBoot集成Hadoop系列二 ---- MapReduce对表的join操作

代码:package com.hadoop.reduce.model;import org.apache.hadoop.io.Writable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;/** * 订单商品对象 * @author linhaiy * @da...

2019-05-23 20:44:05 838

原创 SpringBoot集成Hadoop系列二 ---- MapReduce数据的分组统计,排序

代码:package com.hadoop.reduce.model;import org.apache.hadoop.io.WritableComparable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;/** * 分组排序model类 * @author ...

2019-05-23 20:34:12 762

原创 SpringBoot集成Hadoop系列二 ---- MapReduce明星微博统计

代码:package com.hadoop.reduce.model;import org.apache.hadoop.io.WritableComparable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;/** * 统计明星微博数据实体 * @author ...

2019-05-23 20:25:08 512

原创 SpringBoot集成Hadoop系列二 ---- MapReduce统计数据文件的共同好友

代码:package com.hadoop.reduce.mapper;import java.io.IOException;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;/** * 查找共...

2019-05-23 20:14:56 589

原创 SpringBoot集成Hadoop系列二 ---- MapReduce一年最高气温统计

代码:package com.hadoop.reduce.mapper;import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.ap...

2019-05-23 20:05:46 1208 2

提示
确定要删除当前文章?
取消 删除