祥_venux

个人博客


  • 首页

  • 归档

  • 书籍

  • 分类

  • 标签

  • 关于

  • 公益404

  • 搜索

java-Spring Framework

发表于 2018-04-29

1 简介

Spring框架为现代基于Java的企业应用程序提供了一个全面的编程和配置模型 - 在任何类型的部署平台上。 Spring的一个关键元素是应用程序级别的基础架构支持:Spring侧重于企业应用程序的“管道”,以便团队可以专注于应用程序级别的业务逻辑,而不必与特定部署环境形成不必要的联系。

The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the “plumbing” of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

阅读全文 »

java-Tomcat

发表于 2018-04-18 | 分类于 01.编程语言 , 02.Java

1 介绍

Apache 基金会下的一款开源的 web 服务器。

2.下载

Tomcat下载

3. 安装

解压缩到指定目录

3.1 目录结构

  • bin:二进制执行文件。里面最常用的文件是startup.bat,如果是 Linux 或 Mac 系统启动文件为 startup.sh。
  • conf:配置目录。里面最核心的文件是server.xml。可以在里面改端口号等。默认端口号是8080,也就是说,此端口号不能被其他应用程序占用。
  • lib:库文件。tomcat运行时需要的jar包所在的目录
  • logs:日志
  • temp:临时产生的文件,即缓存
  • webapps:web的应用程序。web应用放置到此目录下浏览器可以直接访问
  • work:编译以后的class文件。

4. 配置

4.1 环境变量配置

  1. CATALINA_HOME:C:\Program Files\Tomcat 8.5(注:结尾不加分号)
  2. PATH:%CATALINA_HOME%\bin;
  3. CLASS_PATH:%CATALINA_HOME%\lib;

4.2 配置文件

$CATALINA_HOME 目录下的 conf 目录,核心配置文件 server.xml。

5. 启动

进入 $CATALINA_HOME 目录下的 bin 目录,运行 startup.bat 即可。

6. 测试

  • localhost:8080:Tomcat默认主页

7 Eclipse集成

  • “Window”–“Preferences”–“Server”–“Runtime Environment”–“Add”–选择Tomcat安装目录。
阅读全文 »

java-JSP

发表于 2018-04-18 | 分类于 01.编程语言 , 02.Java

1 介绍

JSP(Java Server Pages),一种动态网页开发技术,类似于 ASP。通常以<%开头,以%>结尾。

阅读全文 »

java-名词解释

发表于 2018-04-15 | 分类于 01.编程语言 , 02.Java

1 名词解释

缩写 全称 详细信息
POJOs Plain Old Java Objects 普通的 Java对象
DAO Data Access Objects 数据访问对象
CGI Common Gateway Interfa e 公共网关接口
JSP Java Server Pages Java服务页面(动态网页开发技术)
阅读全文 »

java-MyBatis

发表于 2018-04-15 | 分类于 01.编程语言 , 02.Java

1 介绍

MyBatis 是一款持久层框架,特点:

  • 支持定制化 SQL、存储过程以及高级映射;
  • 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集;
  • 可使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
阅读全文 »

java-Maven

发表于 2018-04-15 | 分类于 01.编程语言 , 02.Java

1 介绍

Maven 是一个项目构建和管理的自动化工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。

Maven 使用惯例优于配置的原则 。它要求在没有定制之前,所有的项目都有如下的结构:

目录 目的
${basedir} 存放 pom.xml和所有的子目录
${basedir}/src/main/java 项目的 java源代码
${basedir}/src/main/resources 项目的资源,比如说 property文件
${basedir}/src/test/java 项目的测试类,比如说 JUnit代码
${basedir}/src/test/resources 测试使用的资源

一个 maven 项目在默认情况下会产生 JAR 文件,另外 ,编译后 的 classes 会放在 ${basedir}/target/classes 下面, JAR 文件会放在 ${basedir}/target 下面。

阅读全文 »

java-反射

发表于 2018-04-09 | 分类于 01.编程语言 , 02.Java

1 Class(java.lang.Class)

该类是反射的核心,获取类的Class对象引用方式:

  • 使用类文字,如Test.class、double.class(等价于Doubel.TYPE)和void.class;
  • 使用Object类的getClass()方法
  • 使用Class类的forName()静态方法
阅读全文 »

java-集合

发表于 2018-04-09 | 分类于 01.编程语言 , 02.Java

1 集合遍历

1.1 迭代器(实现 Iterator 接口的实例)

  • 检查是否有尚未访问的元素。
  • 访问集合中的下一个元素。
  • 删除集合的最后访问元素。

1.2 for-each循环

  • for-each循环遍历任何实现类实现Iterable接口的集合。

ps:不能使用for-each循环从集合中删除元素,将抛出ConcurrentModificationException异常。

1.3 forEach()方法

  • Iterable接口包含一个新的 forEach(Consumer action)方法。
1
2
3
4
5
6
7
8
9
public static void main(String[] args) {
// Create a list of strings
List<String> names = new ArrayList<>();
names.add("A");
names.add("B");
names.add("C");

names.forEach(System.out::println);
}
阅读全文 »

Java各版本新特性

发表于 2018-04-01 | 分类于 01.编程语言 , 02.Java

1 Java8 新特性(2014/3/18)

  • Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // 使用 java 7 排序
    private void sortUsingJava7(List<String> names){
    Collections.sort(names, new Comparator<String>() {
    @Override
    public int compare(String s1, String s2) {
    return s1.compareTo(s2);
    }
    });
    }

    // 使用 java 8 排序
    private void sortUsingJava8(List<String> names){
    Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
    }
  • 方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。

  • 默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    public class Java8Tester {
    public static void main(String args[]){
    Vehicle vehicle = new Car();
    vehicle.print();
    }
    }

    interface Vehicle {
    default void print(){
    System.out.println("我是一辆车!");
    }

    static void blowHorn(){
    System.out.println("按喇叭!!!");
    }
    }

    interface FourWheeler {
    default void print(){
    System.out.println("我是一辆四轮车!");
    }
    }

    class Car implements Vehicle, FourWheeler {
    public void print(){
    Vehicle.super.print();
    FourWheeler.super.print();
    Vehicle.blowHorn();
    System.out.println("我是一辆汽车!");
    }
    }
  • 新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。

  • Stream API(链式编程) −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。

    • 元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。
    • 数据源 流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。
    • 聚合操作 类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。
    • Pipelining: 中间操作都会返回流对象本身。 这样多个操作可以串联成一个管道, 如同流式风格(fluent style)。 这样做可以对操作进行优化, 比如延迟执行(laziness)和短路( short-circuiting)。
    • 内部迭代: 以前对集合遍历都是通过Iterator或者For-Each的方式, 显式的在集合外部进行迭代, 这叫做外部迭代。 Stream提供了内部迭代的方式, 通过访问者模式(Visitor)实现。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
      List<String> filtered = strings.stream()
      .filter(string -> !string.isEmpty())
      .collect(Collectors.toList());

      System.out.println("筛选列表: " + filtered);
      String mergedString = strings.stream()
      .filter(string -> !string.isEmpty())
      .collect(Collectors.joining(", "));
      System.out.println("合并字符串: " + mergedString);
  • Date Time API − 加强对日期与时间的处理。

  • Optional 类 − Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。
  • Nashorn, JavaScript 引擎 − Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。
阅读全文 »

Java基础知识02

发表于 2018-03-29 | 分类于 01.编程语言 , 02.Java

1 数据结构

1.1 枚举(Enumeration)

定义了一种从数据结构中取回连续元素的方式,已被迭代器取代。

1.2 位集合(BitSet)

实现了一组可以单独设置和清除的位或标志。该类在处理一组布尔值的时候非常有用,你只需要给每个值赋值一”位”,然后对位进行适当的设置或清除,就可以对布尔值进行操作了。

1.3 向量(Vector)

  • 向量(Vector)类和传统数组非常相似,但是Vector的大小能根据需要动态的变化。
  • 和数组一样,Vector对象的元素也能通过索引访问。
  • 使用Vector类最主要的好处就是在创建对象的时候不必给对象指定大小,它的大小会根据需要动态的变化。

1.4 栈(Stack)

栈(Stack)实现了一个后进先出(LIFO)的数据结构。

1.5 字典(Dictionary)(已过时,使用Map接口替代)

字典(Dictionary) 类是一个抽象类,它定义了键映射到值的数据结构。

1.6 哈希表(Hashtable)

Hashtable类提供了一种在用户定义键结构的基础上来组织数据的手段。

1.7 属性(Properties)

Properties 继承于 Hashtable.Properties 类表示了一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。Properties 类被许多Java类使用。例如,在获取环境变量时它就作为System.getProperties()方法的返回值。

阅读全文 »
1…345…7
祥_venux

祥_venux

.NET

70 日志
23 分类
39 标签
RSS
GitHub 网易云音乐
友情链接
  • Martin Fowler
  • Jeffrey Richter
  • Jon Skeet
  • 张善友
  • 老A
  • 老赵
  • 赛冷思
© 2017 — 2018 祥_venux
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.2