java基础学习
文章平均质量分 95
人在^O^旅途
越努力越幸运!
展开
-
彻底弄懂线程池ThreadPoolExecutor
线程池其实是一种池化的技术的实现,池化技术的核心思想其实就是实现资源的一个复用,避免资源的重复创建和销毁带来的性能开销。在线程池中,线程池可以管理一堆线程,让线程执行完任务之后不会进行销毁,而是继续去处理其它线程已经提交的任务。降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统 的稳定性,使用线程池可以进行统一的分配,调优和监控。原创 2022-10-28 14:02:20 · 1553 阅读 · 4 评论 -
java8 Lambda、Stream和函数式接口使用说明
1.lambda表达式《java8 Lambda表达式简介》《java8 lambda表达式,方法的引用以及构造器的引用》2.函数式接口《java8 函数式接口简介》《JAVA8 Function接口以及同类型的特化的接口》《JAVA8 Consumer接口》《JAVA8 Supplier接口》《JAVA8 UnaryOperator接口》《JAVA8 BiConsumer 接口》3.stream接口操作《java8 Stream接口简介》《 java8 St原创 2020-09-22 10:50:19 · 231 阅读 · 0 评论 -
Java 代码优化细节
1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法...原创 2020-03-11 15:58:45 · 2192 阅读 · 0 评论 -
Log4j配置详解
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 ,转载 2016-12-23 14:11:58 · 866 阅读 · 0 评论 -
Java中Synchronized的用法
着讲一下Java线程同步中的一个重要的概念synchronized.原创 2017-10-11 09:54:58 · 698 阅读 · 0 评论 -
百度、腾讯和阿里巴巴 12大隐藏良心级实用功能
1、腾讯智图:图片压缩优化平台地址:智图_图片压缩在线工具_在线制作webp智图可以帮你把图片压缩到很小,但是还是很清晰!有很多网站限制图片上传的大小,用这个就可以!在线的,很方便!智图是腾讯开发的一个专门用于图片压缩和图片格式转换的平台,其功能包括针对png,jpeg,gif等各类格式图片的压缩,以及为上传图片自动选择最优的图片格式。同时,智图平台还会为用户转换一份w转载 2017-08-25 17:34:05 · 1273 阅读 · 0 评论 -
java程序员必备知识点
每个人都有大梦想,作为程序员当然是想做一个程序大牛,毕竟不想当将军的厨子不是好裁缝!那么要想成为好裁缝,不好程序员,应该需要哪些知识呢?小编搜罗了一下,还真不少呢!吓死宝宝了!高级程序员需要:1.Core Java部分这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:a.面向对象编程思想(封装继承多态接口)b.字符串处理c.java.lang包,java转载 2017-08-09 09:41:10 · 2153 阅读 · 0 评论 -
浅谈Java中的equals和==
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码:1 String str1 = new String("hello");2 String str2 = new String("hello");3 4 System.out.println(str1==str2);5 System.out.println(str1.equals(s转载 2017-08-09 14:39:50 · 749 阅读 · 0 评论 -
Java常用英语汇总
英语不好照样可以搞定Java编程—Java常用英语汇总尚硅谷 2016-11-11 14:48题目:Java常用英语汇总(更新升级版)abstract (关键字) 抽象['.bstr.kt]access vt.访问,存取['.kses]'(n.入口,使用权)algorithm n.算法['.lg.riem]annotation [java]代转载 2017-10-23 22:14:49 · 1546 阅读 · 0 评论 -
彻底理解Java的Future模式
先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点,需要好好考虑一下。模拟代码1:package test;public cla转载 2017-12-04 15:18:59 · 1145 阅读 · 0 评论 -
java 反射详解通俗易懂
Java的反射机制是Java特性之一,反射机制是构建框架技术的基础所在。灵活掌握Java反射机制,对大家以后学习框架技术有很大的帮助。 那么什么是Java的反射呢? 大家都知道,要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载。Java类如果不被Java虚拟机加载,是不能正常运行的。现在我们运行的所有的程序都是在编译期的时候就已经知道了你所需要的那个类的已经转载 2018-01-31 10:39:10 · 817 阅读 · 0 评论 -
web.xml的配置及加载顺序
一web.xml加载过程(步骤):1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: 和 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.3.容器将转化为键值对,并交给ServletContext.4.容器创建中的类实例,即创建监听转载 2017-10-11 13:33:24 · 1561 阅读 · 0 评论 -
Hibernate-validator校验框架
1. 前言Validator开发者使用手册,适用后台校验功能的开发参考。1.1. 背景在我们日常后台的开发中,涉及到很多的字段验证,一般普通的验证框架就基本上可以满足日常的开发需求,但有一些情况,这些普通的验证框架无法达到要求,例如,我们必须对验证的属性进行分组,于是就产生了我们的Validator验证框架。当然,我们的验证框架不仅仅只提供了分组的功能。2. 参考文档《Hibernate Vali...转载 2018-04-23 20:49:56 · 1832 阅读 · 0 评论 -
关于Random.nextInt()
Random.nextInt()随机产生一个数,如果有参数就是在0到参数之间产生。 如果Random对象指定了种子,Random r = new Random(100),那么第一次nextInt()出来的值是固定的,即种子数值, 比如下面的代码,运行结果全是一样的。因为每次循环都重新定义一个Random对象 public static void test() { Ra...原创 2018-06-06 16:34:23 · 2155 阅读 · 0 评论 -
程序员必须掌握的 正则表达式
好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$ 必须说明的是,小数点后面至少应该有1位数,所以”10.”是不通过的,但是 “10″ 和 “10.2″ 是通过的:^[0-9]+(.[0-9]{2})?$ 这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^[0...转载 2018-06-27 18:02:31 · 950 阅读 · 0 评论 -
logback的使用和logback.xml详解
一、logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块: logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging...转载 2018-08-28 16:26:15 · 699 阅读 · 0 评论 -
svn与资源库同步时显示的图标含义
SVN图标含义灰色向右箭头:本地修改过蓝色向左箭头:SVN上修改过灰色向右且中间有个加号的箭头:本地比SVN上多出的文件蓝色向左且中间有个加号的箭头:SVN上比本地多出的文件灰色向右且中间有个减号的箭头:本地删除了,而SVN上未删除的文件蓝色向左且中间有个减号的箭头:SVN上删除了,而本地未删除的文件红色双向箭头:SVN上修改过,本地也修改过的文件一个新检出转载 2017-08-01 17:26:03 · 952 阅读 · 0 评论 -
在html页面嵌入applet异常处理办法
1、java代码public class HelloWorldApplet extends Applet { /** * @Description: TODO(这里用一句话描述这个类的作用) * @date 2017年7月4日 上午8:49:56 * */ private static final long serialVersionUID = 1L; public原创 2017-07-06 13:13:47 · 1248 阅读 · 0 评论 -
javaweb学习总结(七)——HttpServletResponse对象(一)
http://www.cnblogs.com/xdp-gacl/p/3789624.html这是学习的地址。转载 2017-01-19 15:31:19 · 977 阅读 · 0 评论 -
JNI中java类型与C/C++类型对应关系
在如下情况下,需要在本地方法中应用java对象的引用,就会用到类型之间的转换: 1)java方法里面将参数传入本地方法;2)在本地方法里面创建java对象;3)在本地方法里面return结果给java程序。 分为如下两种情况: 一、Java原始类型像booleans、integers、floats等从Java程序中传到本地方法中的原始类型可以直接使用,下面是jav转载 2017-03-02 17:08:01 · 828 阅读 · 0 评论 -
Gson的入门使用
ava对象和Json之间的互转,一般用的比较多的两个类库是Jackson和Gson,下面记录一下Gson的学习使用。基础概念: Serialization:序列化,使Java对象到Json字符串的过程。 Deserialization:反序列化,字符串转换成Java对象 使用Maven管理Gson,pom.xml导入gson的依赖转载 2017-02-16 09:56:02 · 1402 阅读 · 0 评论 -
C++调用DLL有两种方法——静态调用和动态调用
[C++]调用DLL有两种方法——静态调用和动态调用(一).静态调用其步骤如下:1.把你的youApp.DLL拷到你目标工程(需调用youApp.DLL的工程)的Debug目录下;2.把你的youApp.lib拷到你目标工程(需调用youApp.DLL的工程)目录下;3.把你的youApp.h(包含输出函数的定义)拷到你目标工程(需调用youApp.DLL的工程)目录下;4转载 2017-03-17 16:48:25 · 5786 阅读 · 0 评论 -
JNI学习笔记 C++传递结构体、String、数组对象给JavaC++传递结构体、String、数组对象给Java
有时候我们需要传递结构体给Java,而Java中没有与结构体,我们可以用一个类来接受结构数据,下面用一个Demo来说明如果传递。关于如何通过Jni建立c++和Java通信,请看上篇博文JNI学习笔记(一)Java代码:创建2个类,一个类用来测试,一个类用来接收结构体参数。测试类[java] view plain copy转载 2017-02-27 16:41:14 · 1856 阅读 · 0 评论 -
tomcat宕机自动重启和每日定时启动tomcat
在项目后期维护中会遇到这样的情况,tomcat在内存溢出的时候就出现死机的情况和遇到长时间不响应,需要人工手动关闭和重启服务,针对这样的突发情况,希望程序能自动处理问题而不需要人工关于,所以才有了目前的需求。一、设置tomcat定时启动1,首先将tomcat注册为服务,先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显转载 2017-03-11 15:27:57 · 6750 阅读 · 0 评论 -
Connection reset原因分析和解决方案
在使用HttpClient调用后台resetful服务时,“Connection reset”是一个比较常见的问题,有同学跟我私信说被这个问题困扰很久了,今天就来分析下,希望能帮到大家。例如我们线上的网关日志就会抛该错误:从日志中可以看到是Socket套接字在read数据时抛出了该错误。导致“Connection reset”的原因是服务器端因为某种原因关闭了Connect转载 2017-04-11 18:12:54 · 4530 阅读 · 1 评论 -
spring配置文件详解--真的蛮详细
转自: http://book.51cto.com/art/201004/193743.htm此处详细的为我们讲解了spring2.5的实现原理,感觉非常有用 spring配置文件是用于指导Spring工厂进行Bean生产、依赖关系注入(装配)及Bean实例分发的"图纸"。Java EE程序员必须学会并灵活应用这份"图纸"准确地表达自转载 2017-04-17 11:57:19 · 797 阅读 · 0 评论 -
Java反射机制详解
java 反射 定义 功能 示例概要:Java反射机制详解| |目录1反射机制是什么2反射机制能做什么3反射机制的相关API·通过一个对象获得完整的包名和类名·实例化Class类对象·获取一个对象的父类与实现的接口·获取某个类中的全部构造函数 - 详见下例·通过反射机制实例化一个类的对象·获取某个类的全部属性·获取某个类的全部方法·通过反射机制调用某个类的方法·通过转载 2017-04-25 11:31:25 · 774 阅读 · 0 评论 -
JVM参数配置总结
一、堆大小设置JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xm转载 2017-04-25 11:47:20 · 832 阅读 · 0 评论 -
Google Java编程风格指南
译文出处: Hawstein 原文出处:Google Java Style前言这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。然而,这份文档主要侧重于我们所普遍遵转载 2017-05-07 21:37:48 · 837 阅读 · 0 评论 -
Eclipse Java注释模板设置详解
设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦。现就每一个元素逐一介绍:文件(Files)注释标签:/** * @Title: ${file_name} * @Package ${package_name} * @Descriptio转载 2017-06-12 10:57:19 · 773 阅读 · 0 评论 -
Firebug快捷键
打开Firebug窗口 F12关闭Firebug窗口 F12在新窗口打开Firebug Ctrl+F12往前切换标签 Ctrl+`将光标移到命令行 Ctrl+Shift+L将光标移到搜索框 Ctrl+Shift+K进入Inspect模式 Ctrl+Shift+C进行JavaScr转载 2017-07-04 14:39:33 · 933 阅读 · 0 评论