Articles in the Java category

  1. Java8中的并行流

    此笔记是我在阅读《Java8实战》中的一些记录。

    Java8中增加了流(stream)的概念,为数据的处理带来了很大的方便。

    并行流将数据分割成不同的块,并且用不同的线程处理不同的块。

    现在要根据输入n,求从1到n的和,这里我们不使用n*(1+n)/2的方式,而是使用累加。我们分别写出迭代、顺序流、并行流的写法。

    public class ParallelStreams {
        public static long sequentialSum(long n) {
            return Stream.iterate(1L, i->i+1)
                    .limit(n)
                    .reduce(0L, Long::sum);
        }
    
        public static long iterativeSum(long ...
    Tagged as : Java
  2. Maven项目管理

    maven快速入门

    Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    maven安装配置

    下载好maven后,需要配置环境变量。

    1. 设置JAVA_HOMED:\program files\Java\jdk1.8.0_91, path添加%JAVA_HOME%\bin
    2. 新建M2_HOME,指向maven安装目录:D:\app\apache-maven-3.3.9
    3. 修改path,添加%M2_HOME%\bin
    4. 在命令行中输入mvn -v看看是否输出正确。

    maven helloworld案例

    maven目录结构结构

    src
        -main
            -java
                -package
        -test
            -java
                -package
        -resources
    

    按照上面的目录结构创建目录,package目录先不要创建package。

    分别新建 ...

    Tagged as : Maven
  3. 使用Spark进行Java Web开发

    1.搭建Spark项目

    使用Idea创建Gradle项目,包名是:io.github.liulixiang.course,Artifactid是course-ideas。 在builder.gradle里添加spark依赖。

    compile "com.sparkjava:spark-core:2.5"
    compile "org.slf4j:slf4j-simple:1.7.21"
    

    然后创建io.github.liulixiang.course.Main类。

    import static spark.Spark.get;
    public class Main {
        public static void main(String[] args) {
            get("/hello", (req, res ...
    Tagged as : Java
  4. Gradle依赖管理

    1. 添加依赖

    指定仓库是maven central

    repositories {
        mavenCentral()
    }
    

    加入我们要使用apache commons中的csv包,首先在网页https://commons.apache.org/proper/commons-csv/ 中找到对应的maven:

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-csv</artifactId>
        <version>1.3</version>
    </dependency>
    

    上面的是xml格式,我们把它转换成gradle格式:

    dependencies {
        compile group: 'org.apache.commons', name: 'commons-csv', version: '1.3'
        //等价于
        //compile 'org.apache.commons:commons-csv:1.3 ...
    Tagged as : Java Gradle
  5. Java lambda简介

    1. 老的方法

    //Book.java
    public class Book {
        private String mTitle;
        private String mAuthor;
        private int mPublicationDate;
    
        public Book(String title, String author, int publicationDate) {
            mTitle = title;
            mAuthor = author;
            mPublicationDate = publicationDate;
        }
    
        public String getTitle() {
            return mTitle;
        }
    
        public String getAuthor() {
            return mAuthor;
        }
    
        public int getPublicationDate() {
            return mPublicationDate;
        }
    
        @Override
        public String toString() {
            return ...
  6. Hibernate学习笔记

    1. Java链接数据库

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import java.util.List;
    import java.util.ArrayList;
    
    public class JdbcMain {
      public static void main(String[] args) throws ClassNotFoundException {
        // TODO: Load the SQLite JDBC driver (JDBC class implements ...
    Tagged as : Java Hibernate
  7. Spring Boot学习笔记

    1. 环境配置

    1.1 创建应用

    打开idea,新建应用:

    img

    然后输入包名、应用名:

    img

    其他默认。

    1.2 修改build.gradle

    打开build.gradle,修改dependencies:

    group 'io.github.liulixiang1988'
    version '1.0-SNAPSHOT'
    
    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.3.3.RELEASE'
        }
    }
    
    apply plugin: 'java'
    apply plugin: 'spring-boot'
    
    sourceCompatibility = 1.5
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile ...
    Tagged as : Java Spring
  8. Java Web开发技术应用-过滤器

    1. Java过滤机制-声明周期

    images/java-web-filter-01.png

    2. 第一个过滤器

    1、创建一个过滤器类 ,继承自servlet下的Filter 2、重写三个方法init() doFilter() destroy()方法 (1)init()初始化:这个方法可以读取web.xml文件中的过滤器初始化参数。通过参数FilterConfig arg0可以获取更多参数 (2)doFIlter()核心:完成实际的过滤操作。当用户请求访问与过滤器【关联的URL】时,Web容器将先调用过滤器的doFilter方法,FilterChain arg2参数可以调用chain.doFilter方法,将请求传给下一个过滤器(或目标资源),或利用转发,重定向将请求转发给其他资源。 (3)web容器在消耗过滤器前调用该方法,用于释放过滤器占用的资源。(大多数情况用不到)

    2.1 定义Filter

    package liulx.FilterDemo;
    
    import javax.servlet.*;
    import java.io ...
    Tagged as : Java Web
  9. Java Web之Servlet-02 应用MVC架构实现项目

    1. 获取初始化参数

    <servlet>
        <init-param>
            <param-name>username</param-name>
            <param-value>admin</param-value>
        </init-param>
        <init-param>
            <param-name>password</param-name>
            <param-value>123456</param-value>
        </init-param>
    </servlet>
    
    在servlet的init()方法中获取初始化的值:
    this.getInitParameter("username");
    this.getInitParameter("password");
    
    Tagged as : Java Web Servlet

Page 2 / 3