自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

转载 Error:java: System Java Compiler was not found in classpath: java.lang.ClassNotFoundException:

换过java jdk 版本之后,idea 运行发现这个问题,一开始认为是 没有设置 JAVA_HOME 后来设置注销重新打开 电脑也是没有用,网上一片的说 改 Settings >java compiler > javac 改成 eclipse 要是这样有用的话,我就不写这篇博客了,我发想改 eclipsek可以用,但是好像只针对 java8 的 ,我这里还有一种选项可以供你们选择另一种姿势:step 1: 选好你要用的 jdk版本 files-- project...

2020-08-31 21:52:03 1802 4

转载 android studio3.5 老项目导入错误及 gradle版本 2019 最新对应关系

最近在把Android Studio升级到了3.5的版本有很多东西都做了改动 但我最喜欢的东西就是它这个东西速度快了很多很多 相比之前的版本包括构建速度和启动速度 有了很多的优化。最近在搞一些老的项目导入到新的android studio上面各种不兼容 遇到gradle 版本不对应的问题 到官网看了下他们的对应的关系点击官网需要修改两个位置:修改gradle-wrapper.properties :按照对用的关系修改build.gradle如果旧项..

2020-08-25 20:16:56 621

转载 tcpdump与Wireshark抓包分析

1 起因#前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况。这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了。在排查问题的过程中使用到了tcpdump和Wireshark进行抓包分析。感觉这两个工具搭配起来干活,非常完美。所有的网络传输在这两个工具搭配下,都无处遁形。为了更好、更顺手地能够用好这两个工具,特整理本篇文章,希望也能给大家带来收获。为大家之后排查问题,添一利器。2 tcpdump与Wireshark介绍

2020-08-25 20:16:06 1465

原创 Tomcat错误信息(服务器版本号)泄露(低危)

一、问题描述Tomcat报错页面泄漏Apache Tomcat/7.0.68相关版本号信息,是攻击者攻击的途径之一。因此实际当中建议去掉版本号信息。二、解决办法windows1、进入到tomcat/lib目录下,用电脑自带解压软件打开catalina.jar 进入到\org\apache\catalina\util目录下2、编辑ServerInfo.properties文件,编辑最后三行,去掉版本号等信息3、改完后自动跳出提示,点击“是”自动更新catalina.jar重新打包。.

2020-08-25 20:14:16 2656

转载 Netty高性能原理和框架架构解析

1、引言Netty是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。本文基于Netty 4.1展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。本文作者的其它文章《高性能网络编程(五):一文读懂高性能网络编程中的I/O模型》、《高性能网络编程(六):一文读懂高性能网络编程中的线程模型》、《IM开发基础知识补课(六):数据库用NoSQL还是SQL?读这篇就够了!》也写的很...

2020-08-22 22:52:00 106

转载 快速理解P2P技术中的NAT穿透原理

1 前言1什么是NAT?NAT(Network Address Translation,网络地址转换),也叫做网络掩蔽或者IP掩蔽。NAT是一种网络地址翻译技术,主要是将内部的私有IP地址(private IP)转换成可以在公网使用的公网IP(public IP)。2为什么会有NAT?时光回到上个世纪80年代,当时的人们在设计网络地址的时候,觉得再怎么样也不会有超过32bits位长即2的32次幂台终端设备连入互联网,再加上增加ip的长度(即使是从4字节增到6字节)对当时设备的计算、存储..

2020-08-18 19:59:11 282

转载 IE11 400错误,谷歌、火狐正常显示(中文参数导致)

今天发现个问题,做的项目在谷歌、火狐、edge上正常显示及跳转,但IE11上就会报错:通用报错1:400错误2:HTML5 DOCTYPE 无效 <!DOCTYPE >错误3:dom-DOM7011:禁用了反向和正向缓存搜索了这3个错误,发现2和3都不符合我的报错原因,我的报错参考《Ie浏览器请求400错误,谷歌火狐等浏览器正常请求》https://blog.csdn.net/guanfengliang1988/article/details/7332135.

2020-08-14 13:52:31 624

转载 IntelliJ IDEA:xxx is not acceptable

在使用IntelliJ IDEA创建的HelloWorld项目,运行项目时,需要编辑项目配置,在选择主类时提示:HelloWorldis not acceptable,如下图:产生此错误的原因是main方法有问题我们来看看产生错误的代码片:错误示例一: public class HelloWorld { static void main(String[] args){ System.out.println("Hello World"); ...

2020-08-13 15:55:47 602

转载 使用IDEA运行程序时,Run是灰色无法运行解决办法

今天用IDEA运行程序的时候,发现Run变成灰色,运行不了。百度了几篇博客发现看的云里雾里的 ?(可能我没太理解作者写的意思),然后,找了半天也没找到,就带着刚看见的解决自己在IDEA里面慢慢找。最后居然找到了,还是得自己摸索一遍才能懂。找到项目里面的 Structure,点击打开:然后,选中main函数,这时候,代码中的main也会从灰色变成亮色,再右键就可以运行了~...

2020-08-13 15:55:05 12429 4

转载 Android 进程保活

早前,我在知乎上回答了这样一个问题:怎么让 Android 程序一直后台运行,像 QQ 一样不被杀死?。关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一。你到网上搜 Android 进程保活,可以搜出各种各样神乎其技的做法,绝大多数都是极其不靠谱。前段时间,Github还出现了一个很火的“黑科技”进程保活库,声称可以做到进程永生不死。怀着学习和膜拜的心情进去Github围观,结果发现很多人提了 Issue 说各种各样的机子无法成功保活。看到这里..

2020-08-12 16:31:36 1380

原创 leetcode 1122 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾

package leetcode.sort;/*** @Description: 给你两个数组,arr1 和arr2,arr2中的元素各不相同arr2 中的每个元素都出现在arr1中对 arr1中的元素进行排序,使 arr1 中项的相对顺序和arr2中的相对顺序相同。未在arr2中出现过的元素需要按照升序放在arr1的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]输出:[2,2,...

2020-08-12 16:11:34 724

转载 webRTC传输模块

在介绍WebRTC通讯之前我们先来看一个P2P视频聊天包括的主要过程,转载请说明出处(博客园RTC.Blacker):音视频数据采集->编码->发送->接收->解码->播放。编码、解码、以及会用到加密、解密、回声消除等针对不同系统处理方式都一样,与平台无关,但像Socket通信涉及到的数据发送、接收不同平台则有不同的处理方式,如Socket模型,windows里面用的是WSASocket,Linux下用的则是socket,所以他通过模版模式来创建不同类型,.

2020-08-11 19:55:12 480

转载 webRTC在浏览器

我前面讲的这些内容都封装在browser里面了,如音视频的采集,编码,传输,回声消除,丢包重传.所以如果你想将这些功能集成到你的产品里面就必须理解这些东西.如果你只想做基于浏览器的视频通话功能,上面这些你可以不理解,更不需要去下载编译WEBRTC代码,因为实现这些功能所需要的JS接口浏览器已经帮你实现了,你只需要简单调用即可,我们先看看实现下面这样一个功能主要涉及哪些步骤?1,信令交互:开始视频通话前发起端和接收端需要一些交互,如通知对方开始视频,接收视频,视频参数协商(SDP信息),NAT地址

2020-08-11 19:53:57 728

转载 webRTC在IOS上的一些问题

前段时间在搞webrtc iOS开发,所以将标题改为了Android IOS WebRTC 音视频开发总结, 下面都是开发过程中的经验总结,转载请说明出处(博客园RTC.Blacker):1. IOS WebRTC音视频编译和下载: 有过android WEBRTC编译下载经验再去弄IOS,你会发现简单多了,再有问题,可参考:1.1、http://www.cnblogs.com/ProbeStar/p/3411510.html 记住有MAC和IOS两个版本,要指定好你想要哪个版本.1.2..

2020-08-11 19:52:12 1576 1

转载 丢包补偿技术调查

摘要调查显示了用于IP网络语音应用的各种丢包补偿技术。丢包补偿技术可以分为两类:基于发送端补偿和基于接受端补偿。基于发送端补偿包括前向差错纠正、交织和重传技术;基于接受端补偿包括了多种错误隐蔽算法。最后给出了应用建议。一、基于发送端补偿基于发送端补偿可以分为两类:主动重传(本文不讨论)和被动通道编码。被动通道编码包含传统的前向差错纠正技术(FEC)和基于交织的技术。按照和媒体内容的关系,前向差错纠正包括与媒体无关的方法和利用音频属性的媒体相关方法。这些总结如图1所示。图1基于...

2020-08-11 19:37:26 526

转载 解密回声消除技术之二(应用篇)

从应用平台来看,根据笔者多年的经验,可以把回声消除分为两大类:基于DSP等实时平台的回声消除技术和基于Windows等非实时平台的回声消除技术。两者的技术难度和重点是不一样的。一、基于DSP平台的回声消除技术回声消除技术传统的应用领域是各种嵌入式设备,包括各种电信网络设备和终端设备。网络设备比如交换机,网关等等,终端则包括移动电话终端,视频会议终端等。现代通讯产品里面大量应用了回声消除技术,包括在我们看得到的终端产品(比如手机)和看不到的局端产品(比如交换机)。这种嵌入式设备的共同...

2020-08-11 19:34:47 279

转载 解密回声消除技术之一(理论篇)

一、前言因为工作的关系,笔者从2004年开始接触回声消除(Echo Cancellation)技术,而后一直在某大型通讯企业从事与回声消除技术相关的工作,对回声消除这个看似神秘、高端和难以理解的技术领域可谓知之甚详。要了解回声消除技术的来龙去脉,不得不提及作为现代通讯技术的理论基础——数字信号处理理论。首先,数字信号处理理论里面有一门重要的分支,叫做自适应信号处理。而在经典的教材里面,回声消除问题从来都是作为一个经典的自适应信号处理案例来讨论的。既然回声消除在教科书上都作为一种经典的具体的应用,也就

2020-08-11 19:33:42 212

转载 域名、服务器、IP之间的关系

基础概念服务器:服务器其实就像我们的家用电脑一样,也有主板、CPU、内存、硬盘、电源等。根据功能来说服务器可分为web服务器、ftp服务器、数据库服务器、邮件服务器等等,做什么用途就可以叫做什么服务器,根据地域来说可分为国内服务器、香港服务器、美国服务器、日本服务器等等,服务器放在什么地方就可以叫做什么服务器。IP:IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。ip地址是一台服务器所必须的,只有输入正确的ip地址,才能找到

2020-08-11 19:25:03 2292

转载 Connection refused: connect问题解决方案集合

1)端口号被占用:杀死占用端口号(一般为8080)的进程,释放端口;彻底关闭 Tomcat 服务器,或者重新启动项目。2)使用以下命令检查服务器中允许的最大进程数: ulimit -u。如果将此值设置为较低值,例如1024,则使用以下值将其增加到131072或无限制:ulimit -u 131072 或者 ulimit -u无限制 。3)客户端和服务器,它们中的任何一个或两个都不在网络中。它们可能没有连接到LAN或互联网或任何其他网络,在这种情况下,Java将会抛出客户端的“ java.net.Conn

2020-08-11 19:23:52 249196 3

原创 leetcode 1030 返回矩阵中的所有单元格的坐标,并按到 (r0, c0) 的距离从最小到最大的顺序排

package leetcode.sort;import java.util.Arrays;import java.util.Comparator;/*** @Description: 给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R 且 0 <= c < C。另外,我们在该矩阵中给出了一个坐标为(r0, c0) 的单元格。返回矩阵中的所有单元格的坐标,并按到 (r0, c0) 的距离从最小到最大的顺序排,其中,两..

2020-08-10 21:56:29 193

原创 leetcode 976 三角形最大周长

package leetcode.sort;import java.util.Arrays;/*** @Description: 三角形最大周长 * 给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。如果不能形成任何面积不为零的三角形,返回0。示例 1:输入:[2,1,2]输出:5示例 2:输入:[1,2,1]输出:0示例 3:输入:[3,2,3,4]输出:10示例 4:输入:[3,6,2,3]输出:...

2020-08-09 22:50:27 115

原创 leetcode 922 按奇偶排序数组

package leetcode.sort;/*** @Description: 按奇偶排序数组 * 给定一个非负整数数组A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当A[i] 为奇数时,i也是奇数;当A[i]为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。提示:2 <= A...

2020-08-08 21:16:54 160

原创 leetcode 350 给定两个数组,编写一个函数来计算它们的交集。

package leetcode.sort;import java.util.*;/*** @Description: 两个数组的交集 * 给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不.

2020-08-07 21:39:48 420

转载 视频编解码学习之一:理论基础 视频编解码学习之二:编解码框架

第1章介绍1. 为什么要进行视频压缩?未经压缩的数字视频的数据量巨大 存储困难 一张DVD只能存储几秒钟的未压缩数字视频。 传输困难 1兆的带宽传输一秒的数字电视视频需要大约4分钟。 2.为什么可以压缩 去除冗余信息 空间冗余:图像相邻像素之间有较强的相关性 时间冗余:视频序列的相邻图像之间内容相似 编码冗余:不同像素值出现的概率不同 视觉冗余:人的视觉系统对某些细节不敏感 知识冗余:规律性的结构可由先验知识和背景知识得到 3.数据压..

2020-08-06 20:14:27 184

原创 leetcode 349 给定两个数组,编写一个函数来计算它们的交集。

package leetcode.sort; /*** @Description: 给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。* @Param: * @return: * @Author: lvh.

2020-08-06 18:34:52 394

原创 leetcode 268 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。

package leetcode.sort;import java.util.Arrays;import java.util.HashSet;/*** @Description: 给定一个包含 0, 1, 2, ..., n中n个数的序列,找出 0 .. n中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例2:输入: [9,6,4,2,3,5,7,0,1]输出: 8说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?来...

2020-08-05 22:30:37 654

原创 leetcode 242 有效的字母异步位 (长度相同,字母顺序不同)

package leetcode.sort;import java.util.Arrays;/** * @Description: 有效的字母异步位 (长度相同,字母顺序不同) * @Param: * @return: * @Author: lvhong * @Date: * @E-mail [email protected] */public class lab242 { /** * @Description: 时间复杂度:O(n \log n),假设 n 是 ss.

2020-08-04 23:49:59 97

原创 ios描述文件过期时间查看

这边主要是针对企业证书以下对生产证书和描述文件过期时间的截图以下是描述文件查看步骤只能在苹果电脑查看 原先这个包叫xxxx.ipa,要先将后缀改成zip 双击这个文件,会生成一个文件夹 点击Payload进去,右键显示包内容 找到embedded...bileprovision这个文件,如果不存在这个文件,一定要重新打包 Expiration Date就是描述文件的过期时间注意事项:过期时间一个月以内最好重新打包 如果过期了,app就打不开,自动更新也不行了,只能卸载掉a.

2020-08-04 18:05:23 64518

原创 ios证书

这边开始介绍ios开发证书的相关内容:能打包出来的证书,分为2种:企业证书、公司证书1、企业证书没上架的,也就是通过二维码扫描的方式。特点是:一、一年年费299美金二、打包出来,直接发布,免去审核的环节。三、主要我们现在用到的项目有:华能khapp\五矿sjcrm\中建投移动端项目等四、测试比较方便,发布出去,所有人都可以安装测试五、如果过期了,没更新,app会直接闪退,所以一定要在过期前续费,然后更新一个版本。2、公司证书上架ap...

2020-08-04 17:59:41 157

转载 如何创建CSR文件 Apple开发 csr文件

在自己的mac中找到所有应用 在其他中找到钥匙串访问 在顶部的菜单栏中依次找到 钥匙串访问->证书助理->从证书颁发机构申请证书 在打开的证书助理窗口中 填入自己Apple开发者账户的电子邮箱和常用名称 选择储存到磁盘 继续 接下来就是选择存放的位置和文件名称 填写好以后选择储存 在结论中就会给出提示 说明创建成功 默认创建的CSR文件属性是这样的 ...

2020-08-04 17:57:01 516

原创 leetcode 148 时间复杂度和常数级空间复杂度下,对链表进行排序。

package leetcode.sort;import java.util.Comparator;import java.util.LinkedList;import java.util.List;/*** @Description: 在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4-&gt...

2020-08-03 20:48:12 322

原创 leetcode 147 对链表进行插入排序

package leetcode.sort;/*** @Description: 对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数..

2020-08-02 23:00:15 60

原创 leetcode 136 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

package leetcode.sort;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;/*** @Description: 只出现一次的数字 * 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例.

2020-08-01 22:53:19 1131

空空如也

空空如也

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

TA关注的人

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