java中读取资源文件的方法

1.使用java.util.Properties类的load()方法 示例: //文件在项目下。不是在包下!! InputStream in = new BufferedInputStream(new FileInputStream("demo.properties")) ; Properties ... »

java servlet的域对象

在进行网络编程中的项目时 经常用到的域对象主要包括以下三种: 1、 ServletContext 作用范围比较大 代码如下: 2、request 作用范围只限于一次请求 多个请求之间共享资源需要做请求转发操作 代码如下: 3、httpsession 作用范围 一次会话 (一次会话可以有多个请求) 当 ... »

java 静态资源访问详解

一、java project项目 如果工程项目是java project的话获取资源文件 1、如果是在本工程根目录下直接访问 2、也可以直接根据实际路径进行访问 注:这种工程的项目不能使用类加载器的方式访问资源文件 (ResourceBundle rb=ResourceBundle.getBundl ... »

java servlet简述

概述 servlet就相当于一个java小程序,其作用主要是为了接收并响应客户端的请求 入门 1、新建工程并新建个类 2、重写servlet的方法(重要的是service方法) 3、部署工程 a.在web.xml文件中配置servlet b.在web.xml文件中对声明的servlet进行映射 4、 ... »

java网络编程

什么是网络编程 简单的来说就是端到端根据网络传输协议相互之间建立连接并传输数据。 网络编程大致可分为UDP和TCP 二者对比如下: UDP 流程实现原理图: 案例: 发送方: 接收方:(运行的时候先运行接收方) 简易的聊天程序:(重复的是我给我自己发显示的数据) 核心代码: TCP TCP是面向连接 ... »

java单例设计模式

什么是单例设计模式 单例即只有一个实例,该模式的作用是保证程序中某个类的对象只有一个。 单例模式分为懒汉式和饿汉式。 懒汉式 以上可以看出结果的hasCode值是相同的只创建了一个对象 但是这种模式在多线程的情况下会产生线程安全问题: 如果在运行多次的情况下会出现hasCode不一定都一样 这就出现 ... »

java多线程及线程安全详解

为什么要使用多线程: 单线程只能干一件事 而多线程可以同时干好多事(将任务放到线程里执行 效率高) 而所谓同时干并不是真正意义上的同时 只是(这里就叫CPU)cpu在每个线程中随机切换来执行 线程中要干的活 多线程编写: 1)第一种:(线程类) class Stu1 extends Thread{ ... »

java I/O流详解

概况 I/O流主要分为二大类别:字符流和字节流。 字节流(基本流) 1、字节输入流 类名:FileInputStream 特点:读(对文件进行读取操作) 父类:InputStream 2、字节输出流 类名:FileOutputStream 特点:写 (对文件进行写入操作) 父类:OutputStre ... »

java利用自定义类型对树形数据类型进行排序

前言 为什么集合在存自定义类型时需要重写equals和hashCode? 1、先说List集合 List集合在存数据时是可以重复的但是 当我们需要判断一个对象是否在集合中存在时这样就有问题了! 因为我们通常判断一个对象是否在集合中存在只需要判断值就行 而List内部实现方法是用地址来进行判断的 因为 ... »

java的迭代器详解

迭代器的引出 在jdk1.5版本之前是没有 foreach的,然而1.5版本就加上了foreach,而引入的新的foreach功能并不是在jvm上进行改进的因为代价太高,甲骨文工程师想到了一个比较好的办法就是在编译器中引入迭代器的概念从而实现foreach遍历。 请看一段代码: 而上面的代码在运行多 ... »

java的泛型

泛型概述 先看下面的代码: 根据集合的用法来存取数据上面看起来很爽的样子 但是如果我们要往集合存取不一样的类型时 往集合里添加数据很方便但是 等到我们取的时候问题很多 会出现不同的类型安全的问题,为了解决这一问题 我们需要限制一个集合只能存取一种类型 这就是我们所说的泛型 虽然上面的例子取的时候可以 ... »

java的数据结构

常见的数据结构 线性表(list) 1、有序列表,就像小朋友排队(一队)放学出校门,插入的顺序作为遍历的顺序,位置不变(长度固定) 2、顺序存储:从起始位置开始依次向后存储,查询方便,但是插入(排队加塞)和删除(排队晕倒)的效率较低,位置可变(长度可变) 3、链式存储(链表):哪里有空位就往哪里存, ... »

java字符串类型常量拼接与变量拼接的区别

前言 首先看下下面代码结果是什么? 在看这个代码结果是什么? 第一个例子其结果为false 第二个例子其结果为true 为什么会这样? 下面看下内存分布图: 最后得出的结论: 1、+运算符如果一边是变量的话就会 先查找常量池中有没有拼接完的 如果有常量池就不会在新建 否则会新建一个常量 最后会在堆中 ... »

java之多态详解

前言 什么叫多态?多态就是一种事物可以有多种表现形式 多态三要素 1.被动方必须有继承关系 2.子类一般都要重写父类方法 3.必须将主动方的功能函数的参数设置为 被动方父类的类型 举个例子司机开车 假如说司机会开汽车 我们需要定义个汽车的类 然后在司机类中添加会开汽车的的方法 假如说司机会开卡车 我 ... »

java之静态属性和静态方法

前言 静态属性和方法必须用static修饰符 静态属性和非静态属性的区别: 1、在内存中存放位置不同 所有带static修饰符的属性或者方法都存放在内存中的方法区 而非静态属性存放在内存中的堆区 2、出现时机不同 静态属性或方法在没创建对象之前就已经存在 而非静态属性在创建对象之后才存在 3、静态属 ... »

java之内存分布图

前言 不关我们是创建基本数据类型的变量还是引用数据类型的变量,jvm都会通过内存分布去编译和运行程序。 内存一般分为栈区、堆区、方法区(方法区里面包含常量池) 栈区一般存放变量(局部变量)、方法的参数引以及用对象 堆区一般存放的是对象以及成员变量 方法区一般存放方法 里面常量池存放常量 不管你是要创 ... »

java类型转换详解(自动转换和强制转换)

自动转换 a是int类型,b是byte类型 当二者进行加法运算时(根据同类型相加结果还是同类型) 由于int的范围比byte的取值范围大这个时候jvm会自动将b转换成int类型 强制转换 强制转换就是将前面加上要转换的类型就可以了。 下面来看比较特殊的 上面代码在编译的时候会报错 常量3的类型为in ... »

webpack入门宝典

前提摘要 本文是经过二天自己学习总结出来的一些心得,本文是在最新版的webpack4x的基础上进行配置的(听说webpack4x比以往改变都很大有些插件可能有问题)。如果你以前没怎么接触过Webpack,而你又你对webpack感兴趣,那么动手跟着本文中那个贯穿始终的例子写一次,写完以后你会发现你已 ... »

js函数之四大调用模式

一、方法调用模式 当一个函数调用保存为一个对象的属性时我们称之为方法调用。 方法可以使用this访问自己所属的对象,所有它能从对象中访问value并修改value属性 当this对象发生在调用的时候 这个超级延时绑定 可以对this高度复用。 二、函数调用模式 以此模式调用函数时this指的是全局对 ... »