自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (8)
  • 收藏
  • 关注

原创 SpringData JPA中表的关联关系

这篇博客是闲着没事,自己随便写着玩的。。只简单列举一下实体类在不同关联关系中的写法。 首先是单向多对一,两个实体类,分别是Order和Customer:package com.sunsy.jpatest.entity;import javax.persistence.Column;import javax.persistence.Entity;imp...

2019-05-03 18:33:15 610

原创 java动态代理详解

很久很久以前,我曾经听过一个网络课,老师手动实现了jdk底层的动态代理,当时不太理解,只手动抄写了一些源码。碰巧今天和别人讨论动态代理的东西,就翻出了以前的老笔记,整理整理写个博客,希望能对初学者有些帮助,也算是加深自己的理解。好了,废话不多说,首先说下最基础的代理模式是啥吧,先上代码:package com.sunsy.proxy;public interface An...

2019-04-13 00:19:06 244

原创 mysql数据库的七种join查询

首先把初始化表的sql贴出来:CREATE TABLE `tb_dept` ( `id` int(11) DEFAULT NULL, `deptName` varchar(255) DEFAULT NULL, `locAdd` varchar(255) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------...

2019-04-06 17:04:18 712

原创 rabbitmq入门以及和springboot的整合

首先简单说一下rabbitmq吧,在rabbitmq里,publisher发布的消息会先进exchange里,然后有很多队列绑定到exchange上,exchange根据消息自身携带的路有键判断是把信息交给哪个队列,然后消费者就能连接上队列去消费消息了。 exchange分发消息时根据类型不同分发策略是不同的,常见的主要有direct、fanout、topic。...

2019-04-06 16:09:53 269

原创 springboot代码混淆

主要就是在pom的build里添加proguard插件,如下(注意,我建议用6.0.2的proguard版本,不然混淆springboot2.X的时候会报错Can't process class [META-INF/versions/9/org/apache/logging/log4j/util/ProcessIdUtil.class,因为springboot2.X引用的log4j...

2019-03-15 16:53:36 5017 2

原创 RestTemplate发送https请求

package com.sunsy.websocket_demo.configuration;import java.io.IOException;import java.net.HttpURLConnection;import java.security.cert.CertificateException;import java.security.cert.X509Certifica...

2019-02-28 15:28:35 2697 2

原创 java8新特性之lambda表达式

所有讲解、示例、练习我都写到注释里了,看完我相信应该能懂:package lambda_demo;import java.util.Comparator;import java.util.function.Consumer;/* * * 一、lambda的基础语法(lambda需要函数式接口的支持,也就是需要有个只有一个实现方法的接口): * jav...

2019-02-27 18:47:20 212

原创 springboot+websocket实现服务端向客户端实时推送日志

        首先,如果我们想在客户端获取服务端的日志,最容易想到的肯定是客户端浏览器发个get请求,后端收到后读取本地日志文件,然后返回给客户端,完成一次请求,但是因为日志是在不断更新写入的,如果用户想实时动态的看到日志的话,就需要浏览器不断的发送这个get请求,这样才能实现动态的刷新日志的效果,显然这么做会对网络造成较大的负担。今天要说一个更好的实现方式:websocket。      ...

2019-02-25 10:25:09 6847 6

原创 tomcat原理(手写一个自己的tomcat)

        前几天有个做python的老哥问我啥是tomcat,我从python的flask说到springMVC,又从MVC说到Tomcat,但是感觉还是没解释清,今天突然想起来以前听过一节公开课,是手动实现一个自己的Tomcat(自己都能实现一个Tomcat了,原理自然就懂了),虽然找不到上课视频了,但是找了半天在我的老电脑里找到了以前写的源码,分享一下,希望能对大家有一点帮助。   ...

2019-01-19 14:38:23 1109 1

原创 java基于NIO的socket编程实例

        众所周知,java的NIO模块想要传输数据需要依赖缓冲区和通道,二者缺一不可。        补充一下缓冲区(buf)的几个基本方法:        1.allocate():分配一个指定大小的缓冲区。        2.put():向buf里写数据。        3.get():从buf里读数据。        4.flip():将缓冲区从写模式切换到读模式...

2019-01-14 17:47:30 274

原创 springcloud入门实例(四:Feign的使用)

        话不多说,直接进入正题。其实Feign出现的目的,应该就是简化Ribbon的配置(我自己的理解,不太确定),用一个FeignClient替代RestTemplate。由于我们有可能不止Dept这一个微服务,还可能有Emp、Company等等,所以最好把FeignClient都定义到microservicecloud-api里,这样就不会导致Dept里配一个FeignClient,E...

2019-01-11 10:49:10 237

原创 springcloud入门实例(三:Ribbon的使用)

        原文再续,书接上回,上一个博客讲了怎么用Eureka,这次来讲一下怎么用Ribbon做负载均衡。        直接进入正题,基于上两次的微服务,我们做一些简单的改动就可以使用Ribbon实现负载均衡,首先要在microservicecloud-consumer-dept模块中引入Ribbon相关依赖,在pom.xml中添加如下内容:<!-- Ribbon配置(需要...

2019-01-10 16:28:54 439

原创 springcloud入门实例(二:Eureka的使用)

        书接上回,原文再续,上次我们搭建了一个很简单的微服务的架子,这次我们来使用一下Eureka。        Eureka是用来做服务注册与发现的。一听到注册这俩字基本就说明这玩意要有个服务端,所以我们首先写一个Eureka服务端子工程,名为microservicecloud-eureka-server-6006,目录结构如下:        pom.xml内容如下:...

2019-01-09 10:12:40 299

原创 springcloud入门实例(一:微服务框架搭建)

        在这个数据量越来越大、客户需求越来越高的时代,作为一个写java web后端代码的程序员,不会写微服务确实是有点说不过去,现在最常见的微服务框架一个是dubbo,另一个就是springcloud了。两者有很多的不同,比较显著的一个是dubbo符合CAP中的CP原则,符合高一致性,而springcloud符合AP原则,符合高可用性;另外从社区来说的话,.......就不说了,总之现如...

2019-01-08 17:41:58 733

原创 docker入门(centos7.2安装docker并使用Dockerfile做一个自己的tomcat镜像)

作为一个程序员,肯定饱受过开发环境的摧残,docker这个越来越火的容器让解决这一问题成为了现实。好了,docker是啥、解决了啥问题就不多说了,直接进入正题。 首先说一下环境,我是在自己的windows上新建了个centos7.2的虚拟机,虚拟机IP是192.168.119.119,然后我会在虚拟机上安装一个docker,并生成一个自己的tomcat镜像并运行。...

2018-12-26 16:39:02 3251

原创 SSM+JSP+Bootstrap+Ajax小实例(员工CRUD系统)(六:增加员工功能前后端)

        原文再续,书接上回,今天来讲一讲员工增加功能的前后端实现。        首先是后端,我们先理一下需要实现的方法有哪些。首先在EmployeeService里需要有一个插入方法以及一个查询用户名是否已经存在的方法,在DepartmentService里需要有一个查询所有的部门信息的方法,在Controller里需要有相应的插入用户接口、查询用户是否存在接口以及查询所有的部门名称...

2018-12-21 18:47:48 682

原创 SSM+JSP+Bootstrap+Ajax小实例(员工CRUD系统)(五:员工查询前后端(请求返回json的方式))

        原文再续,书接上回。上次我们讲了怎么把用户信息放到model里,然后用jsp+bootstrap做一个简单又不丑陋的界面去展示,但是现在讲究前后端分离,所以我们的接口返回一个json才是如今的王道,这样就不再需要后端人员去写JSP,顺便再用bootstrap做个界面了,而是前端人员用我们返回的json数据结合jquery或者nodejs等等方式去将数据展示给用户(所以这一章涉及到的...

2018-12-16 21:27:22 568

原创 SSM+JSP+Bootstrap+Ajax小实例(员工CRUD系统)(四:员工查询前后端(请求返回model的方式))

        原文再续,书接上回。今天我们来实现员工查询的前后端代码。        首先实现我们的后端代码,在com.sunsy.crud.service包下创建EmployeeService类,在里边实现一个查询所有员工的方法,如下(有些关键的方法是啥意思我都写到注释里了):package com.sunsy.crud.service;import java.util.List...

2018-12-14 15:51:13 806

原创 SSM+JSP+Bootstrap+Ajax小实例(员工CRUD系统)(三:mybatis逆向工程及mapper接口测试)

        原文再续,书接上回。上一次我们已经创建好了tbl_emp和tbl_dept两张表,接下来我们会用mybatis的逆向工程把这两张表对应的Mapper及bean生成出来。其实mybatis官网上关于怎么使用mybatis generator写的非常清楚,但是为了博客的连续性,我还是把步骤都写一写吧。         首先,我们在ssm_crud项目的根目录下生成mbg.xml,里...

2018-12-13 15:17:11 365

原创 SSM+JSP+Bootstrap+Ajax小实例(员工CRUD系统)(二:编写ssm相关配置文件)

        原文再续,书接上回,接下来进入最恶心的一步(我自己认为极端恶心):编写ssm相关的配置文件。        在进入恶心的配置编写之前,我们先进行一个令人(起码是令我)心情愉悦的工作:创建包。我们在src/main/java下创建com.sunsy.crud.bean,com.sunsy.crud.dao,com.sunsy.crud.service,com.sunsy.crud...

2018-12-12 16:53:14 353

原创 SSM+JSP+Bootstrap+Ajax小实例(员工CRUD系统)(一:项目的初始化搭建)

        最近一直在用springboot,突然发现对SSM已经基本忘光了。。毕竟以前也是哪里不会查哪里,没有系统的细致的研究,正好最近有时间,结合网上的各种示例自己系统的搞出一个员工CRUD系统出来,整合了SSM+JSP+Bootstrap+Ajax。好了,话不多说,进入正题。        首先我们用eclipse创建一个Maven项目,名字叫ssm-crud,然后我们再pom.xm...

2018-12-10 20:26:37 888

原创 SpringBoot中filter的使用详解及原理

        首先还是老生常谈,我先把SpringBoot中filter的使用示例写出来,然后再解释下代码、说一下运行的顺序,最后讲一下filter的原理(其实就是责任链设计模式,从马士兵老师那里偷来的。。。)。        要想使用filter,需要写一个方法继承Filter类,我们写如下两个自己的Filter类,首先是FirstFilter类,其中@Order里边的数字越小代表越先被该...

2018-11-27 15:12:58 46450 5

原创 kafka权威指南中用KafkaAvroSerializer进行序列化

前两天拜读了Kafka权威指南一书,比着书里的示例抄代码的时候发现第三章里用:kafkaProps.put("key.serializer", "io.confluent.kafka.serializers.KafkaAvroSerializer");进行序列化时maven找不到KafkaAvroSerializer包,我在maven官方respository里也没找到,后来发现需要...

2018-10-31 16:16:15 4221 2

原创 linux下配置java+gdal

        一般来说,想在linux环境下用java调用gdal,需要自己手动编译,然后把so库和gdal.jar包放到java工程里即可,怎么编译网上有很多示例,我这里只是把自己编译好的centos7下的gdal库提供给大家,亲测可用,下载地址:https://download.csdn.net/download/u014627099/10721605(没有免费下载选项了,最少要选择1分...

2018-10-15 15:47:27 1893 3

原创 python只使用Queue和Thread自己实现一个最简单的线程池

        我的思路就是就是写一个TifCutting类继承自Thread,这个类里有个属性Queue;有一个addTask添加任务的方法,这个方法是把需要执行的函数放到Queue里;因为继承自Thread类,一定有一个重写的run方法,这个方法是从自己的Queue属性里获取函数,然后执行;有一个StartRun方法,这个方法开了多个线程去执行自身TifCutting类的run方法,即调用多线...

2018-09-28 16:29:34 1374

原创 自己动手让springboot异步处理浏览器发送的请求(只需要使用ConcurrentLinkedQueue即可)

        自己写代码的时候遇到一个问题:浏览器想springboot的controller发送请求,假设这个请求需要服务器处理二十秒,但是我不希望让浏览器卡在这里二十秒没有任何反馈。于是我想着把需要耗时的任务放到一个Task类里,在controller里只实现把Task类放到ConcurrentLinkedQueue里,这样就耗时很少了,然后在服务启动的时候就开一个TaskThread进程,...

2018-09-28 16:15:44 990

原创 python分布式爬虫

        前几天由于工作需求,我要去网上下载数量比较大的一批风景名胜的图片,想省点劲就搞了搞爬虫,感觉还挺有意思的。干完活之后闲暇之余看了看《python爬虫开发与项目实践》这本书,看到里边有一章介绍了分布式爬虫,感觉有些神奇,就稍微改了下书里的代码,分享一下。好了,话不多说,先看一下代码的文件结构:        这个简单的工程的目的是从百度百科上爬词条,比如输入的第一个url是h...

2018-08-31 14:48:08 252

原创 python使用pyexiv2库修改jpg文件的属性信息(如GPS信息)

首先pyexiv2下载地址如下:https://launchpad.net/pyexiv2也可以在CSDN下载:https://download.csdn.net/download/u014627099/10621649代码如下:#coding=utf-8import pyexiv2import fractions#把小数转成度分秒的形式def convToDuFenM...

2018-08-21 17:13:06 3566

原创 大话设计模式java实现

https://github.com/ssystc/DesignPattern.git

2018-07-09 16:22:11 820

原创 用java自己实现一个监视器

        监视器其实就是当某个事件完成后,自动监控到该情况然后去执行你想要的操作。        举个例子吧,我们在浏览器里在下载东西,然后你点击了后台下载,当下载结束后,浏览器会弹窗告诉你下载完成了,我们就写段简单的代码来抽象的实现这个小需求。        首先写一个IListener接口,IListener.java:package listenertest3;public int...

2018-05-24 19:48:03 7495 1

原创 Java中的回调实例

        首先我们先把代码抄上,该实例一共有四个类,首先是CallBack.java:package callbacktest;public interface CallBack { public void isSuccess();}        接下来是实现了CallBack接口的曹操类,CaoCao.java:package callbacktest;public c...

2018-05-24 19:34:24 3306 2

原创 spring-boot入门实例(jpa+postgresql+aop实现valid切面式校验)

        上星期天上手写了一个spring-boot的入门小实例,内容如题。博客写完保存草稿忘了发,今天才发现,补发一下。。。

2018-05-23 14:33:51 1437 2

原创 SpringMVC+hibernate小实例(注解式)

        周六了,趁着上午晕晕乎乎的时光写个小实例,再熟悉一下SpringMVC,为今后可能学习到的spring boot做点铺垫。不说了,直接撸代码吧。        如下是工程的结构:                         首先用eclipse创建一个maven工程,然后修改一下WEB-INF下的web.xml文件,如下:<!DOCTYPE web-app PUBLIC ...

2018-05-05 14:43:47 164

原创 遍历HBase表中的数据(把hbase中存储的图片写到本地)

这段代码十分简单,我写这篇博客的唯一原因就是告诉广大像我一样的新手一句话:还是用maven把.....先把代码撸上:package com.***.**;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintWriter;import org...

2018-04-10 19:49:34 3242 1

原创 LeetCode274

题目如下:给定一位研究者的论文被引用次数的数组(被引用次数是非负整数)。写一个方法计算出研究者的H指数。H-index定义: “一位科学家有指数 h 是指他(她)的 N 篇论文中至多有 h 篇论文,分别被引用了至少 h 次,其余的 N - h 篇论文每篇被引用次数不多于 h 次。"例如,给定 citations = [3, 0, 6, 1, 5],意味着研究者总共有 5 篇论文,每篇论文相应的被引...

2018-03-30 18:45:01 221

原创 LeetCode63

和62题差不多,顺便也做了吧。。题目如下:这是“不同路径” 的进阶问题:现在考虑网格中有障碍物。那样将会有多少条不同的路径从左上角到右下角?网格中的障碍物和空位置分别用 1 和 0 来表示。例如,如下所示在 3x3 的网格中有一个障碍物。[ [0,0,0], [0,1,0], [0,0,0]]一共有 2 条不同的路径从左上角到右下角。注意: m 和 n 的值均不超过 100。下面我...

2018-03-30 18:13:31 655

原创 LeetCode62

有个问题怎么也想不通,一下午时间快过去了依旧毫无进展,是时候换换心情刷个题提提神了。。打开LeetCode随机点了个62题,题目如下:机器人位于一个 m x n 网格的左上角, 在下图中标记为“Start” (开始)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角,在下图中标记为“Finish”(结束)。问有多少条不同的路径?例如,上图是一个3 x 7网格。有多少可能的路径?注意:...

2018-03-30 16:12:46 735

原创 2018最火刑侦题(Python constraint库求解)

最近特别火的2018年刑侦,反正我用笔做了半个小时没做出来。。咱先把题贴出来啊:最后用人力搞不定的我选择了用python的constraint库求个答案。。先大略的说下constraint库吧,其实简单说就是一个约束求解的库,用法如下:problem = Problem()problem.addVariable("a", [1,2,3])problem.addVariable("b", [2,...

2018-03-25 21:27:15 847

原创 centos环境下moosefs(mfs)文件系统的安装部署以及碰到的问题(chunkserver启动时报错wrong meta id)

centos7系统,准备安装mfs3.0,部署环境服务器有:192.168.1.1(mfsmaster)192.168.1.2(mfsmetalogger)192.168.1.3(mfschunkserver)192.168.1.4(mfschunkserver)192.168.1.5(需要挂载mfs的普通服务器)(其实讲道理如果集群少的话,你就算把所有的东西部署到一个节点上也是可以的)1.首先配...

2018-03-19 20:12:10 2090

原创 瞎想单例模式(以及静态代码块、properties文件读取)

        说起来,由于以前都用python(python的模块天然就是单例模式),所以对这个设计模式基本没研究过,不过最近在弄java,发现单例模式是有丶东西的。        简单地说,单例模式就是一个类只实例化一次,在你的项目中,不过开多少线程实例化多少次,这个类的内存地址都是一个,下面我们写一个简单的单例模式示例:public class SignalPattern { privat...

2018-03-16 16:46:11 442

ssm+bootstrap+jquery实例

ssm+bootstrap+jquery实例,博客地址是https://blog.csdn.net/u014627099/article/details/85040765,是完全对应的,可放心食用

2018-12-16

linux下编译好的gdal库

centos7下编译的gdal库,我在其他服务器上试过,起码centos7下应该是可以用的

2018-10-15

自己动手让springboot异步处理浏览器发送的请求(只需要使用ConcurrentLinkedQueue即可)

自己动手让springboot异步处理浏览器发送的请求(只需要使用ConcurrentLinkedQueue即可)

2018-09-28

python分布式爬虫

python分布式爬虫,参考《python爬虫开发与项目实践》一书

2018-08-31

pyexiv2安装包

pyexiv2库,可以很方便的修改jpg文件的属性信息,如添加GPS信息等

2018-08-23

spring-boot入门实例(jpa+postgresql+aop实现valid切面式校验)

spring-boot入门实例(jpa+postgresql+aop实现valid切面式校验)

2018-05-23

SpringMVC+hibernate实例

自己写的一个SpringMVC实例,里边用到了hibernate,供还没入门的老哥们看一看

2018-05-05

SpringMVC+Hibernate小实例

自己写的一个SpringMVC小实例,里边用到了hibernate,供还没入门的老哥们看一看

2018-05-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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