一线城市,大厂互联网公司中,Java开发的招聘标准

金三银四的跳槽热潮即将过去,在这两个月的跳槽的旺季中,作为互联网行业的三大巨头,百度、阿里巴巴、腾讯对于互联网人才有很大的吸引力,他们的员工也是众多互联网同行觊觎的资深工程师、管理者人选。下面我总结了进入这三家公司你所需掌握的技能:阿里巴巴篇扎实的计算机专业基础,包括算法和数据结构,操作系统,计算机网络,计算机体系结构,数据库等具有扎实的Java编程基础,理解IO、多线程等基础框架熟练使用Linu
阅读本文

ffmpeg获取网络视频第一帧图片

话不多说,直接上代码:/** * Created by jinwentao on 2018/4/8 */ import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import org.bytedeco.javacpp.opencv
阅读本文

Apache-TomCat安装配置

Apache-TomCat安装配置(1)官网下载地址:https://tomcat.apache.org/download-80.cgi 解压后:(2).然后把解压后的文件夹放到你想放置的目录下:这里我放在了D盘下然后打开 win+r 输入cmd 运行命令行工具,进入Tomcat安装目录的bin 文件夹:然后运行bin文件夹下的 startup.bat文件也可以直接在bin 目录下双击startu
阅读本文

drools规则引擎

1、drools是什么Drools是为Java量身定制的基于Charles  Forgy的RETE算法的规则引擎的实现。具有了OO接口的RETE,使得商业规则有了更自然的表达。Rule是什么呢?一条规则是对商业知识的编码。一条规则有 attributes ,一个 Left Hand Side ( LHS )和一个 Right Hand Side ( RHS )。Drools 允许下列几种 attr
阅读本文

NIO网络编程中重复触发读(写)事件

一、前言  公司最近要基于Netty构建一个TCP通讯框架, 因Netty是基于NIO的,为了更好的学习和使用Netty,特意去翻了之前记录的NIO的资料,以及重新实现了一遍NIO的网络通讯,不试不知道,一试发现好多细节没注意,导致客户端和服务端通讯的时候出现了一些非常莫名其妙的问题,这边我记录下耗了我一晚上的问题~二、正文  废话不多说,先上问题代码~  服务端:package com.nio.
阅读本文

应用P3E进行IT项目管理初探

一、项目及项目管理依据PMBOK的定义,项目是为创造独特的产品或服务而进行的一次性努力。项目管理是指在项目中运用专门的知识、技能、工具和方法,使项目能够实现或者超过项目干系人的需要和期望。与传统的工程建设项目相比,IT项目有其特殊的地方。软件开发甚至被认为是完成一项不可能的使命,“没有银弹”。究其原因,主要在于:1)软件开发牵涉到极大的复杂性,大多数大软件产品由几百万行源代码组成,各个模块间还存在
阅读本文

软件测试需要学习些什么技能

1.测试环境(网络环境,windows环境等)  2.数据库管理  3.编程技巧(java编程设计,脚本语言,设计工具,XML编程)  4.软件测试技术(测试理论,方法,流程,文档写作,测试工具,自动测试)  5.测试技术实践  软件测试的基础知识(黑盒测试,白盒测试,单元测试,系统测试)  软件测试的基本工具(测试管理工具,自动化测试工具,性能测试工具)  其他:  一定的编程知识是需要的还需要
阅读本文

Java中加密算法介绍及其实现

1.Base64编码算法Base64简介Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base6
阅读本文

OkHTTPClient

一,OKHttp介绍okhttp是一个第三方类库,用于android中请求网络。这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCanary) 。用于替代HttpUrlConnection和Apache HttpClient(android API23 里已移除HttpClient)。okhttp有自己的官网,官网网址:OKHtt
阅读本文

用Java写一个递归遍历目录下面的所有文件。

首先,拿到这个题目,我要找java怎样实现文件的读取。File file = new File(fileName);我们知道java通过以上代码获取文件目录File[] files = file.listFiles();上面代码获取目录下所有子文件和文件夹。 以下是java.io.File.isFile()方法的声明:public boolean isFile()参数 NA 返回值当且仅当表示
阅读本文

深入理解Java类加载器(1)

类加载器概述:  java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成java.lang.Class类的一个实例.每个实例用来表示一个java类.通过该实例的newInsta
阅读本文

三种Java日志工具的简单使用

Java日志系统1. Logger之简单入门Java 中自带的日志系统,Java中关于日志系统的API,在 java.util.logging 包中,在这个包中,Logger类很重要。 Logger类是用来记录 某个级别的日志消息:级别共分为以下几类,从上倒下,级别依次下降:    SEVERE(严重)------级别最高    WARNING(警告)    INFO    CONFIG    F
阅读本文

Java编程学习知识点分享 入门必看

Java编程学习知识点分享 入门必看  阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度。阿尔法组成越高,颜色越不透明。  API:应用编程接口。针对软件包或“工具箱”的接口说明。API包含了工具箱中所有类或子程序及其使用说明。  Applet:与可以单独运行的应用程序不同,Applet是一种在Web浏览器中运行在Web页面上的Java程序。
阅读本文

diamond简介和使用

简介diamond是淘宝内部使用的一个管理持久配置的系统,它的特点是简单、可靠、易用,目前淘宝内部绝大多数系统的配置,由diamond来进行统一管理。diamond为应用系统提供了获取配置的服务,应用不仅可以在启动时从diamond获取相关的配置,而且可以在运行中对配置数据的变化进行感知并获取变化后的配置数据。持久配置是指配置数据会持久化到磁盘和数据库中。diamond的特点是简单、可靠、易用:简
阅读本文

后续添加了 Java 版

红黑树是数据结构中比较复杂的一种,最近与它交集颇多,于是花了一周的空闲时间跟它死磕,终于弄明白并实现了红黑树。写文总结一下,希望能给试图理解红黑树的同学一些灵感,也让我能记得更深刻。在研究红黑树时吃了不少苦头,原因有二:红黑树的插入和删除非常复杂,很多人并没有理解或完全实现,或实现了的没有任何注释,让人很难参考;网络上红黑树的理解方式较为单一,一般是 双黑、caseN 法,而插入和删除的情况很多,
阅读本文

Java从入门到放弃

Java从入门到放弃                      2018.1.3  1.认识Java:    Java是Sun(Stanford university Notwork 1982年成立)公司开发出来的一套编程语言。     最早源于一个叫Green的项目(为家用电子消耗产品开发一个分布式代码系统,这样就可以通过     网络对家用电器进行控制),工程师们准备用c++,但是由于c++过
阅读本文

Java中的序列化Serialable高级详解

引言将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。然而在有些情况下,光知道这些还远远不够,文章列举了笔者遇到的一些真实情境,它们与 Java 序列化相关
阅读本文

【Java】【反射】

一,java的核心机制java有两种核心机制:java虚拟机(JavaVirtual Machine)与垃圾收集机制(Garbage collection): Java虚拟机:是运行所有Java程序的抽象计算机,是Java语言的运行环境,在其上面运行Java代码编译后的字节码程序,java虚拟机实现了平台无关性。 Java垃圾回收(Garbage Collection):自动释放不用
阅读本文

RxJava异步请求加载状态控制

在我看来,RxJava最大的特点就是异步,无论你是解析复杂的数据或是IO操作,我们都可以利用它内置的线程池进行线程间的调度,简单的使用subscribeOn(Schedulers.io()).doOnNext(...) observeOn(AndroidSchedulers.mainThread()).doOnNext(...)这种操作就可以指定操作在你想要的线程里执行.当然,网络请求这种耗时的操
阅读本文