Wesley13 Wesley13
3年前
java graphics2d 旋转图片
由于iphone拍出来的照片存在旋转的问题,当然在iphone上查看是没有问题的,但是如果是在安卓手机上或者使用windows图片查看器就会发现图片是旋转90度的。有一些安卓手机拍出来的照片也是旋转的,比如三星的那个曲屏手机。所以需要程序去把图片旋转过来,变成正的,保证体验一致。原理是通过metadataextractor去检测图片的EXIF信息,获
Wesley13 Wesley13
3年前
STM32 位段详解
1定义首先需要明确下,位段,位带和别名区这三个名词位段:STM32用户参考手册使用的名字位带:CortexM3参考手册使用的别名区:地址总线上用来位访问地址区域,所以说,位段和位带是一个意思,是不同手册的不同叫法。由上述的名词解释得知,位带功能并不是STM32独有的,是CortexM3的功能(CortexM4也有这样的功能
Wesley13 Wesley13
3年前
C和C++的区别 04.函数重载
函数重载(Overload):用同一函数名定义不同的函数,当函数名和不同参数搭配时函数的意义不同。也就是说,函数重载就是,名字一样,参数不同。参数不同有三种:个数不同、类型不同、顺序不同。形参的名字和返回值相不相同无所谓。来看看编译器调用重载函数的准则:(看不懂或者觉得晕可以不看)将所有同名函数作为候选者尝试寻找可行的候选函数
Wesley13 Wesley13
3年前
VisualVM 使用心得
JDK中有个好用的工具“VisualVM”可以实时可视化的查看到java程序内存变化情况,对于理解GC和java内存管理还是有很大帮助的,以前看论坛看帖子讲到java内存管理真是各说纷纭啊!有人说“JVM的内存分为两块堆和栈”,还有人说"JVM的内存分为三块(新生代、老年代、方法区)",想必很多人和我一样都搞得有点摸不着头脑了吧。下面来眼见为实:工欲善
Wesley13 Wesley13
3年前
GoldWave的消音、淡入淡出、改变音乐速率
如何用简单的方法消音?      步骤是这样,首先需要一个版本较新的GoldWave软件,它一般只有两三兆,很好找且下载起来很方便。然后导入源文件,菜单条上选:效果立体声消减人声,在弹出的对话框中填入消减的音量(注:数值不要填得太大)。确定后操作界面上音轨的振幅会减小,导致音量变小,为避免这个,可以在菜单条上选:效果立体声最佳匹配就搞定了。
Wesley13 Wesley13
3年前
MongoDB经典故障系列六:CPU利用率太高怎么办?
每逢电商大促,全民狂欢,但热闹是属于疯狂剁手的人们。而开发者们有的缺是“高流量、高访问、高并发”三高下带来的种种问题。为了应对大促期间的高I/O情况,企业会选择MongoDB云数据库应对。可是,在使用MongoDB云数据库的时候,可能经常遇到一个问题:MongoDBCPU利用率很高,都快跑满了,这该怎么办?别担心,我们有菊长呢。你看,菊长来了…!(
Wesley13 Wesley13
3年前
TCP连接过程及报文解析
可能大家都听过TCP建立连接时需要经历三次握手和四次挥手的。那么具体的握手挥手的过程是怎么样的呢?这篇文章就通过WireShark抓包来了解TCP连接建立和断开的过程。实验方法:写一段简单的代码代码客户端和服务端,分别部署,让客户端主动像服务器发起连接,随后断开。让WireShark抓股这个过程中产生了哪些包,并对其分析。(注:Wire
Stella981 Stella981
3年前
Netty中的永动机
永动机即'永远运动的机器'.作为服务端时,需要接收客户端的连接,需要接收客户端的数据,或者向客户端发送数据.既然需要接收客户端的连接,那么就需要一个IO线程永远的执行一个无限循环.只有一直循环着,才能一直接收新的连接.NioEventLoop的底层绑定一个线程,这个线程在启动之后,就会一直无限循环着,而且只做三件事
Stella981 Stella981
3年前
Spring Cloud(五)
微服务网关在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。为什么需要APIGateway1\.简化客户端调用复杂度在微服
Wesley13 Wesley13
3年前
23种设计模式(面向对象语言)
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。创建型模式是用来创建对象的模式,抽象了实例化的过程,帮助一个系统独立于其他关联对象的创建、组合和表示方式。所有的创建型模式都有两个主要功能:  1.将系统所使用的具体类的信息封装起来  2.隐藏