【菜鸟Java】Java Web入门-Tomcat篇

下载链接Apache Jakarta ProjectTomcat官网Tomcat目录层次结构bin:存放启动和关闭Tomcat的脚本文件conf:存放Tomcat服务器的配置文件lib:存放Tomcat服务器的支撑jar包logs:存放Tomcat的日志文件temp:存放Tomcat运行时产生的临时文件webapps:web应用所在的目录,即供外接访问的web资源的存放目录work:Tomcat的...

【菜鸟Java】基础巩固-注解篇

注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。APIPackage java.lang.annotation注解的应用结构图调用/结构关系:A<--B<--CA,B,C解释如下:A:注解类@interface...

【菜鸟Java】基础巩固-线程并发库篇

本文主要概述java.util.concurrent包下的相关类和使用方法Package java.util.concurrent原子性操作类java.util.concurrent.atomic包下的类:Package java.util.concurrent.atomic线程池java.util.concurrent:Class Executors常用线程池几种常用的的生成线程池的方法:new...

【菜鸟Java】基础巩固-共享数据篇

本文主要总结线程共享数据的相关知识,主要包括两方面:一是某个线程内如何共享数据,保证各个线程的数据不交叉;一是多个线程间如何共享数据,保证数据的一致性。线程范围内共享数据自己实现的话,是定义一个Map,线程为键,数据为值,表中的每一项即是为每个线程准备的数据,这样在一个线程中数据是一致的。例子package com.iot.thread;import java.util.HashMap;impor...

【菜鸟Java】基础巩固-传统多线程篇

传统线程技术传统创建线程方式1.继承Thread类,覆盖run方法Thread t = new Thread(); t.start();2.实现Runnable接口Runnable不是线程,是线程要运行的代码的宿主。1.看看Thread类源码,捋清Runnable,target,run,start关系Runnable是一个接口target是Thread类中类型为Runnable,名为target...

【菜鸟Java】基础巩固-实现AOP功能的封装与配置的小框架篇

本文通过是动态代理实现的AOP功能的封装与配置的小框架.加深对动态代理和AOP编程的理解设计根据配置文件的键xxx对应的值(类全名)创建相应类的对象。当且仅当xxx对应的值为com.iot.proxy.aopframework.ProxyFactoryBean时,则生成相应的动态代理类对象。代理对象的目标类和通知实现类分别由xxx.target和xxx.advice配置配置文件config.pro...

【菜鸟Java】基础巩固-代理篇

代理是实现AOP(Aspect oriented program,面向切面编程)的核心和关键技术。概念代理是一种设计模式,其目的是为其他对象提供一个代理以控制对某个对象的访问,代理类负责为委托类预处理消息,过滤消息并转发消息以及进行消息被委托类执行后的后续处理。为了保持行为的一致性,代理类和委托类通常会实现相同的接口静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译,也就是说在程序运行...

【菜鸟Java】基础巩固-类加载篇

java类加载器就是在运行时在JVM中动态地加载所需的类,java类加载器基于三个机制:委托,可见,单一。把 classpath 下的那些 .class 文件加载进内存,处理后形成可以被虚拟机直接使用的 Java 类型,这些工作是类加载器做的。委托机制指的是将加载类的请求传递给父加载器,如果父加载器找不到或者不能加载这个类,那么再加载他。可见性机制指的是父加载器加载的类都能被子加载器看见,但是子加...

【菜鸟Java】基础巩固-泛型篇

本文对泛型的基本知识进行较为全面的总结,并附上简短的代码实例,加深记忆。泛型:将集合中的元素限定为一个特定的类型。术语ArrayList<E> -- 泛型类型ArrayList -- 原始类型E -- 类型参数<> -- 读作"typeof"ArrayList<Integer> -- 参数化的类型Integer -- 实际类型参数几点注意:参...

【菜鸟Java】基础巩固-反射篇

反射:将类的属性和方法映射成相应的类。反射基本使用获取Class类的三种方法:类名.class对象名.getClass()Class.forName("要加载的类名")根据API写就行了,大致流程就是:用上述三种方式之一获取特定类的Class类,即该类对应的字节码调用Class对象的getConstructor(Class<?>... parameterTypes)...

Copyright bcfou.com.Some Rights Reserved.