随笔分类 - Java编程
摘要:用户在上传图片的时候,系统会报异常 insufficient memory case 4,追踪代码发生在jdk中 image.io 的 read() 方法。这是一个耽搁了很久的bug,客户反馈了好几次,找了几次方向都没处理好,搞得客户很不耐烦,我自己也很伤脑筋,差点就投降了。我尝试过本地测试复现,但是也只是在多线程同时并发才会出现,线上出现该异常的时候,只有一个人在使用,所以当时也是很疑惑。对于内...
阅读全文
摘要:1、FFmpeg是什么FFmpeg(https://www.ffmpeg.org)是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它用来干吗呢?视频采集、视频格式转化、视频截图、视频添加水印、视频切片(m3u8、ts)、视频录制、视频推流、更改音视频参数(编码方式、分辨率、码率、比特率等)功能,等等...下载下来解压完了呢是这个样子:bin中文件夹有个 ffmpeg.ex...
阅读全文
摘要:0、写在前面的话上篇博客已经是在8月了,期间到底发生了什么,只有我自己知道,反正就是心情特别糟糕,生活状态工作状态学习状态都十分不好,还有心思进取吗,No!现在状态好起来了,生活又充满了希望 :D 前两周在写视频管理相关的功能,说是要在原来的项目上进行拓展。结果今天领导给我说客户那边还没定,只做技术上研究就行了,不用写具体功能代码(我都写了好吗?)于是突然时间有腾出来,今天整理一下把内容写一些。要...
阅读全文
摘要:1、线程同步概述线程之间有可能共享一些资源,比如内存、文件、数据库等。多个线程同时读写同一份共享资源时,就可能引起冲突,所以引入了线程的“同步”机制。所谓同步,就是说线程要有先来后到,排队执行操作,而不是同时进行操作。目的就是为了防止多个线程在访问相同数据对象时,对数据造成污染和破坏。为了实现同步,Java中提供了“锁”的机制,可以给共享资源加上一把锁,这把锁只有一把钥匙,哪个线程获取了这把钥匙,...
阅读全文
摘要:1、线程的创建线程的创建可以通过两种方式,第一种是 Thread类,第二种是 Runnable接口:继承 Thread 类,覆盖 run()实现 Runnable 接口,实现 run()然后线程的启用是通过 start() 方法,它会自动调用 run() 方法,如下例://继承Thread public class MyThread extends Thread { @Override ...
阅读全文
摘要:1、概述AJAX,“Asynchronous JavaScript And XML”的简称,即“异步的JavaScript和XML”。AJAX的作用在于页面中,它可以异步提交请求,避免整个刷新整个页面。我们常见的某些网站的注册,在输入用户名之后,明明还没有点击注册按钮,可能会看到页面显示“用户名已存在”之类的字眼,就是因为在你输完用户名之后,页面已经异步将你的用户名发送到服务器进行查重,并将结果返...
阅读全文
摘要:1、URL的概念统一资源定位符URL(Uniform Resource Locator)是www客户机访问Internet时用来标识资源的名字和地址。URL的基本格式是:://// 1 1://// Method是传输协议HOSTNAME是文档和服务器所在的Internet主机名(域名系统中DNS中的点地址)PORT是服务端口号(可省略)PATH是路径名FILE是文件名例如:http://...
阅读全文
摘要:1、JSTL概述之前在《[03-01] JSP自定义标签》中已经说明了自定义标签的概况,而JSTL也是一套标签库,不过是厂商已经定义好的标签库,我们不再需要自行进行定制,直接使用即可。所以说JSTL的使用也和我们使用自定义标签是相同的:它也由两部分组成,tld文件和标签处理器类导入tld也要使用JSP的taglib指令JSTL需要单独下载jar包,毕竟是别人写好了的,jstl1.1往往需要jstl...
阅读全文
摘要:1、概述EL = Expression Language 表达式语言,用来在JSP中替代的数据表达方式,EL更简洁,它的语法如下:${...} 1 1${...} 例如输出名为username的参数的值,使用JSP表达式为,而使用EL表达式则只需要${param.username},更贴心的在于,若该属性对应的值为null,前者会输出null,而EL则不显示任何内容。2、EL内置对象为了方...
阅读全文
摘要:1、自定义标签的概念目前我们在JSP中使用的标签都是HTML的标签,浏览器会自动解析运行,例如,这里的form就是标签名称,action即form标签的属性,而之间的内容,我们称之为标签体。而自定义标签,就是可以根据需求,自己定义的标签,不论是标签的名字,属性,还是作用等等。使用自定义标签,可以把很多重复的代码或相似的功能封装起来,在JSP中就可以直接以标签使用,使JSP文件结构简练,可读性强,可...
阅读全文
摘要:1、概述JSP规范中定义了一系列的标准动作,Web容器按照规范进行了实现,可以解析并执行标准动作。而标准动作使用的是标准的xml语法,看上去也比较直观易懂,下面来看一个结构例子: 1 1 上面的代码中,action_name表示标准动作的名字,而attribute1和attribute2是标准动作的若干个属性。2、三种常用的标准动作2.1 forwardforward动作,用于在JSP页面...
阅读全文
摘要:1、概述JSP指令用于“转换阶段”提供整个JSP页面的相关信息,影响由JSP页面生成的Servlet的整体结构。指令不会产生任何的输出到当前的输出流中。指令的基本语法为: 1 其中,directive表示指令名,attr则表示该指令对应的属性名,一个指令可能有多个属性。而JSP中常用的指令有三个:page、include、taglib2、page指令page指令作用于当前整个JSP页面,...
阅读全文
摘要:0、写在前面的话阮一峰老师的博文《互联网协议入门(一)》和《互联网协议入门(二)》,互联网的分层模型,有的分七层,有的分四层,这里阮一峰老师将其分成五层,简化了复杂的部分,把互联网的原理说明白了,强烈推荐!1、互联网协议入门(一)从系统角度,自下而上进行理解。 2、层层协议 3、互联网协议入门(二) 切换到用户的角度,看看用户是如何从上至下,与这些协议互动的。 附件列表层层协议.png访问www....
阅读全文
摘要:1、什么是RESTful风格的APIREST,即Representational State Transfer,可以理解为“(资源的)表现层状态转化”。在网络上,我们通过浏览器输入url,来访问和获取到所需要的资源。这里的url,是对资源位置的定位描述,其实也是一种资源的具体呈现的方式,即这里所说的“表现层”。我们访问资源的过程涉及到数据和状态的变化,“建立在表现层(url)基础上使资源状态发生变...
阅读全文
摘要:内部类的其中一个优势就是可以简化代码,现在以一个常用的JDBC获取数据封装对象的例子,来简单谈谈如何使用匿名内部类来简化代码。下面这段代码,是用JDBC连接,到数据库查询到数据之后,将数据封装到对象中进行返回,很常见的场景:public List getMemberByDepartmentId(long departmentId) { List memberList = new Arra...
阅读全文
摘要:1、分析url《空港双流》数字报刊,访问地址为:http://epaper.slnews.net.cn,现在为了抓取每篇新闻的网页内容。在浏览器访问该链接后,发现链接出现了变化,看样子是后端服务器进行了重定向:观察该链接,发现定向链接规则显然是包含日期规则,2018-01/10,表示2018年01月10日的报刊,也就是定位为当天的日期,试着修改为前一天,即2018-01/09,页面果然发生了跳转,...
阅读全文
摘要:1、什么是网络爬虫爬虫是“模拟用户在浏览器或某个应用上的操作,把操作的过程实现自动化程序”,那什么是网络爬虫呢?即模拟浏览器行为,通过指定url,直接返回给用户所需要的数据,而不需要人为操纵浏览器获取。我们使用浏览器访问网页大概发生了什么?查找域名对应的IP地址向IP对应的服务器发送请求服务器响应请求,发回网页内容浏览器解析网页内容 网络爬虫,就是要模拟上述行为。2、最简单的爬虫:你好百度既然知道...
阅读全文
摘要:1、进程和线程是什么在理解进程和线程之前,必须要知道的一个基本事实就是,单个CPU一次只能运行一个任务。我们所知道的多任务其实是因为CPU太快太快太快了,它不断在多个任务之间切换执行,以至于在我们看来他就是同时在执行多个任务,实则不然。那么进程和线程是什么?假设现在有这样的程序代码A和B,执行程序代码所需要的资源如RAM/显卡/GPS等(除了CPU),也即是程序代码的运行资源环境,我们暂且称之为程...
阅读全文
摘要:1、我所理解的回调在查看内部类相关知识点的资料时,总是看到两个关键字:闭包和回调。闭包大概能明白,算是一种程序结构,差不多就是能够访问外部变量的某种“域”,在Java看来也就是内部类了。而回调的话,总是很懵懂,在前端用AJAX知道有这么个东西,但理解不深刻。现在看来,回调大概就是把引用交给别人,由别人在适当的时候调用该引用(这里的引用在Java中往往是对象,在JS中是函数,毕竟JS中函数可以作为对...
阅读全文
摘要:1、闭包的概念所谓闭包,就是指“一个持有外部环境变量的函数”,与其说这是一种形式的函数,不如说这是一种程序结构。这个概念更多在JavaScript中提到,在JS中我们知道,函数是可以作为对象返回的,于是看下面这样的方法:function foo(){ var local = 0 function bar(){ local++ console.lo...
阅读全文

浙公网安备 33010602011771号