Java动态代理
cglib1.什么是cglibCGLIB(Code Generation Library)是一个开源项目。是一个强大的,高性能,高质量的Code生成类库,它可以在运行期扩展Java类与实现Java接口。Hibernate支持它来实现PO(Persistent Object 持久化对象)字节码的动态生成。 2.何如使用导入maven jar包 123456<!-- https://mvnrepository.com/artifact/cglib/cglib --><dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.3.0</version></dependency> 简单编写一个UserService的test方法,用来输出hello world,用来修改类中方法的执行前后事件 123456public class UserService...
Netty学习
netty相关实践1.Netty的核心组件 Channel; 回调; Future; 事件和ChannelHandler; 1.1 ChannelChannel是Java NIO的一个基本构造。 它代表一个到实体(如一个硬件设备、一个文件、一个网络套接字或者一个能够执行一个或者多个不同的I/O操作的程序组件)的开放连接,如读操作和写操作。目前,可以把 Channel看作是传入(入站)或者传出(出站)数据的载体。因此,它可以被打开或者被关闭,连接或者断开连接。 1.2 回调Netty 在内部使用了回调来处理事件;当一个回调被触发时,相关的事件可以被一个 interfaceChannelHandler 的实现处理。 当一个新的连接已经被建立时,ChannelHandler 的 channelActive()回调方法将会被调用,并将打印出一条信息。 1234567public class EchoServerHandler extends ChannelInboundHandlerAdapter { @Override public void...
Java-pahoMQTT
基于Paho的MQTT使用 一.准备工作 1.Broker选择 在进行编写编程前,需要先准备MQTT Broker主要进行接收发布的所有消息,并将其过滤后分发给不同的消息订阅者。 image 这里推荐使用 EMQTT 下载解压后,进入/bin文件,命令行执行emqx start 打开http://ip:18083就可以进入管理后台 2.Spring...
Java注解简单用法
注解解释及用法收集 一.Lombok @Data @Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、...
Java网络底层
一、 OSI 7层模型来源:https://www.jianshu.com/p/f32cfd6c208b 1、OSI的来源 OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。 ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。 2、OSI七层模型的划分 OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。如下图。 ...
Java线程简单运用
线程 基本概念操作系统同时执行的多个任务,是进程。进程同时执行的多个任务,是线程。 线程的生命周期:新建 就绪 运行 阻塞 死亡 新建态 创建线程后,jvm分配内存 就绪态 start() 方法调用后 运行态 执行run()方法代码逻辑 阻塞态 失去当前资源后 死亡态 线程阻塞的情形: sleep()方法,会放弃占用资源 wait()等待方法,会释放当前占用的锁 suspend()挂起方法,容易产生死锁 当线程响要获得一个同步锁,但锁正在被其他线程使用 当使用阻塞式IO时,同上 线程从阻塞恢复成就绪态的情形: 当经过sleep指定的时间,重新转为就绪 notify notifyAll的方法时,重新转为就绪 resume()方法可以恢复被挂起的线程 当成功拿到同步锁,转为就绪态,阻塞式IO同上 线程状态查看Thread 内的 isAlive() true代表就绪,运行或阻塞状态false 代表新建或死亡 控制线程join 后台线程 yield(让步) 改变线程的优先级 线程概述1.线程的创建方式 1.1 继承Thread类 123public class...
阿里云OSS
在进行网页设计的时候遇到一些图片上传的问题 (1) 图片存哪 (2) 图片大小以及数量 考虑到如果不想使用文件io 读写,可以使用阿里云的OSS进行图片上传保存 1.登陆阿里云oss(本人使用阿里云)进行开通oss操作,不仔细讲官网有教学。 并且获取必要参数写入 spring boot 配置文件 123456# 阿里云OSS配置aliyun.ak= ****aliyun.sk= ****aliyun.endpoint= ****aliyun.img.host= ****aliyun.bucketName= **** 2.spring boot 配置2.1...
Java-ffmpeg
在做有关视频的时候,发现用户单单传入视频的时候,并没有封面显示,还需要传入封面图片,对于用户来说 是一件十分麻烦的事情,于是百度了一下有没有什么方法在上传视频的时候使用一些软件,对视频进行封面的截图或者一些视频的转码操作。 于是就看到了ffmpeg这个软件 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。ffmpeg具体安装可以百度,有很多大佬有教学,本人就直接写怎么用了 1.编写ffmpeg.java类封面截图FetchVideoCover.class 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263// 视频路径 private...
2019年厦门软件园高端技术培训
2019年厦门软件园高端技术培训《微服务架构设计与实践》###### ps:本篇主要分享一些微服务课程中,比较重要的思路,和基础知识。具体请阅读pdf。一、微服务架构概述1.1 微服务架构定义微服务之父马丁.福勒,他将微服务总结为以下9大特征: 通过服务组件化 围绕业务能力组织 是产品不是项目 智能端点和哑管道① 去中心化治理② 去中心化数据管理 基础设施自动化 为失效设计③ 演进式设计 技术为业务而生,架构也为业务而出现。随着业务的发展、用户量的增长,系统数量增多,调用依赖关系也变得复杂,为了确保系统高可用、高并发的要求,系统的架构也从单体时代慢慢迁移至服务SOA时代,根据不同服务对系统资源的要求不同,我们可以更合理的配置系统资源,使系统资源利用率最大化。 旧架构:单体应用,需要搭建整个模块,导致开发进度过慢,如【MVC】架构等,并且生命周期长,迭代慢。 微服务核心:...
前端图片上传,图片预览及过大 压缩处理 canvas+base64
在做网页的时候可能会遇到需要上传图片来修改头像或者其他资料的问题。 本篇博客用来解决上传图片中遇到的一些问题 上传本人用的是vue框架 首先通过 1<input type="file" > 来进行文件提交选择 指定文件类型为image 12<img :src ="HeadUrl"><input type="file" style="display: none" accept="image/*" @change="select_img" > 调用change事件,当选择文件改变的时候触发select_img事件 通过readAsDataURL()来进行图片预览, 1234567891011select_img: function (e) {//当input file值改变时触发的事件 var vm = this; this.file = event.target.files[0]; ...