Java EE

" 橘松 " 的自我介绍

旧时模样 提交于 2020-08-10 05:48:56
昵称 :(OrangeCsong)橘松(在其他平台也是这个名字) 年龄 :95后(摩羯座) 性别 :boy 性格 :性格还阔以,不轻易发脾气,沉稳。喜欢独立思考。 爱好 :运动(工作了,运动时间太少),基金理财,很少玩游戏。 工作 :杭漂程序🐶(后端开发) 坐标 :杭州(江西银,老表你来了) 公众号 :橘松Java技术窝 联系方式 :[ wx : cs-fighting-WN ] [qq : 2822739876] 学技术的心态 博主19年大学毕业,大三开始接触Java(在这之前,只知道 C 与 C++),一路 Java 黑到现在。一路上历程: 实验室 1 年左右 (与同学开发了套学习网站) 北京京东研发实习三个月 杭州有赞科技实习半年多 杭州有赞(欢迎找我内推) 生来渺小。我的经历算什么,站在未来看前面,都是狗屁不如罢了。 我曾经也是个性子很急,很想马上就有产出的一个人。但是技术这东西,恰恰不是想的如此,大学的我,收集过很多学习资料以及经常跑去图书馆借书,一借 Java 从底层到框架都借来,东看看西看看没啥*用。也没长进多少,回想一下,如今浮躁的社会,需要沉下心,一页一页啃书确实难啊。这个急于求成的社会风气,心态是需要慢慢成长,撸代码不必多说,百分之99的汗水和百分之1的灵感。没撸哪来的大牛。 学技术的学法 说完心态,做事有做事的方法。这是我的学法,你可以借鉴,但不需要复制

Java Web 实现 HTTP Basic

こ雲淡風輕ζ 提交于 2020-08-10 05:48:46
Basic 认证是一种较为简单的 HTTP 认证方式,客户端通过明文(Base64 编码格式)传输用户名和密码到服务端进行认证,通常需要配合 HTTPS 来保证信息传输的安全。界面如下。 下面基于 Servlet 标准 Filter 实现一个 HTTP Basic 登录机制,可以用作测试时的临时发布用。部分函数利用了 AJAXJS 库。 package com.ajaxjs.web; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.ajaxjs.util.Encode; import com.ajaxjs.util.CommonUtil; import

JAVA(计算机编程语言)---面向对象---静态面向对象编程语言的代表---分布式---多线程

非 Y 不嫁゛ 提交于 2020-08-10 05:04:36
JAVA(计算机编程语言) Java是一门面向对象编程语言,吸收了C++语言的各种优点,摒弃了C++里难以理解的多继承、指针等概念,Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。 发展历程 1996年1月 ,Sun公司发布了Java的第一个开发工具包(JDK 1.0),标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。 1997年2月 ,JDK 1.1发布。 1998年12月8日 ,第二代Java平台的企业版J2EE发布。Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。 2001年9月24日 ,J2EE1.3发布。 2002年2月26日 ,J2SE1.4发布。 2004年9月30日 ,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0(内部版本号1.5.0),代号为“Tiger”。 2005年6月 ,在Java One大会上,Sun公司发布了Java SE

Spring源码(1)

依然范特西╮ 提交于 2020-08-10 04:55:19
为什么要有Spring? 无论在解析源码,还是在看待其他问题上,首先先来看第一个问题,为什么要有Spring?为什么Spring这么流行?为什么会有Spring? C++这个语言相信了解过的都知道,其对象是需要手动回收的,而Java的优点之一就是会自动回收不用了的对象。但是如果在一个项目中,如果创建的对象过多,这个创建速度超过了达到回收条件的时限时,内存就会爆掉。那么很多人就会想,很多创建的对象其实都是重复的,能否把这些对象集中起来,不用重复去创建,提高整个对象的利用率,那么就可以降低整个创建过多对象而导致内存爆掉的问题发生概率了。 应运而生的Spring就出来了,或者说Spring就是带着这样的初衷而出生的。所有的对象都交给Spring这个容器(IOC容器)去管理,那么还节省了开发人员维护这个对象的功夫,还可以让其他框架的对象一样也交给Spring去管理就可以了,那么即便在一个项目应用多个框架的话,维护起来也不会麻烦,如果这个框架不用,那么就把其从Spring容器中移除,不在管理(解耦)即可。 什么是Spring? 官方的定义是:Spring框架是一种轻量级的阶级方案,是构建企业级应用程序的潜在一站式解决方案。 在写这篇文章时,即便在一开始思考了为什么会有Spring这个框架之后,我也在想,什么是Spring?官方写的含糊其辞的,那么我又在想Spring就是IOC和AOP了吗?

Springboot 中使用单元测试

痞子三分冷 提交于 2020-08-10 04:14:46
参考自官网: Spring1.59的文档 一、测试 Testing Springboot 测试支持由两个模块提供; spring-boot-test 包含核心项目,而 spring-boot-test-autoconfigure 支持测试的自动配置。 大多数开发人员只使用spring-boot-starter-test就可以。它可以导入Spring Boot测试模块以及JUnit,AssertJ,Hamcrest和其他一些有用的库。 二、 测试范围依赖关系 Test scope dependencies 当你 pom 中引入了 spring-boot-starter-test 他将会自动引入下面的library库 如果这些并不能满足你,你可以自己附加测试依赖项。 三、测试springboot Testing Spring Boot applications Spring Boot提供了一个 @SpringBootTest 注解,当您需要Spring Boot功能时,它可以 用作标准spring-test @ContextConfiguration注释的替代方法 。注解的工作原理是通过SpringApplication在测试中创建ApplicationContext。 所以 Spring1.4 以上的版本一般情况下是这样的: @RunWith (SpringRunner .

Nginx代理之location定义

孤者浪人 提交于 2020-08-10 03:53:28
每一个虚拟主机或是代理服都需要定义一个location,用以在用户端查询时提供搜索,当匹配到合适的location时,转向所需的应用。location可以使用正则来查询匹配,也可以否定匹配,location只针对定义内容进行优先级匹配,并且在查询到匹配后忽略其它匹配选项。以下将对可能遇到的一些location进行说明: location匹配符 等于匹配符"=",为精确匹配,不支持正则匹配 空匹配符,匹配以指定模式开始的URI,不支持正则匹配 正则匹配符"~",这里包括了三种,以"~"开始的区分大小写的匹配,以"~*"开始的不区分大小写的匹配,以"^~"开始的以指定模式开始的正则匹配 内部访问符"@",一般用于错误页面等 匹配符优先级 = 空匹配符,满足精确匹配时 ^~ ~或~* 空匹配符 举例说明upstream tomcats { server 192.168.100.101:80 max_fails=0 fail_timeout=5s; server 192.168.100.102:80 max_fails=0 fail_timeout=5s; } server { listen 80; server_name www.xxx.com; #1. 空匹配符时,最后生效,与配置先后并无关联 location / { proxy_next_upstream http_502 http

Spring Boot (二):模版引擎 Thymeleaf 渲染 Web 页面

亡梦爱人 提交于 2020-08-10 03:52:39
1. 什么是 Thymeleaf ? 虽然我们目前拥有许多十分优秀的前端框架,例如: Vue 、 React 等,非常适用于前后端分离的场景,前端可以独立部署成为服务,前后端从物理上完全进行隔离,降低程序耦合度。但是 Spring Boot 官方依然为我们提供了模版引擎用于一些无需前后端分离的场景。 Thymeleaf 是新一代的模板引擎,在 Spring Boot 中,官方推荐使用 Thymeleaf 来做前端模版引擎。打开 https://start.spring.io/ 可以看到,在当前Spring Boot 的版本中( 2.1.8.RELEASE ), 官方提供的模版引擎有以下几种: Thymeleaf FreeMarker Mustache Groovy Spring Boot 建议使用这些模版引擎,而并不推荐我们继续使用 JSP 。(了解源码可+求求: 1791743380) Thymeleaf 具体特性如下: Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 Thymeleaf 的模板可以静态地运行;当有数据返回到页面时

HTML5实现文件上传下载功能实例解析

放肆的年华 提交于 2020-08-10 02:33:55
前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。 一. Http协议原理简介 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。 1.特点: (1)支持客户/服务器模式。 (2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 (3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 (4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 (5

Java大佬精心为小白整理的十个学习心德

瘦欲@ 提交于 2020-08-10 02:23:05
零基础学习 java 能学会吗? 零基础如何学习 java? 有什么方法吗? 今天由我来分享下关于零基础学习 java 的方法。 Java发展前景 据权威统计,在所有软件开发类人才的需求中,对 Java 工程师的需求达到全部需求量的 60%~70%,Java 软件人才的缺口巨大,对应薪水也是随之水涨船高。 越来越多的大学生看好 Java 的大好发展前景,选择进行系统化的专业培训后,进入企业从事 Java 开发工作。Java 岗位需求量每年以22%左右的速度增长着,其中尤以 Java 程序员、Java 工程师、Java 架构师、技术总监最为缺乏。全国每年 Java 工程师的缺口高达50万+。 掌握一门高含金量的技能,拥有一份不菲的高薪职业,是大多 IT 职场人士的正确打开方式。中级工程师月入高达 12-18K,高级工程师则有机会突破 30K,成为架构师和 CTO 更是年薪百万。 参考智联对于 java 岗位的需求,共35754个职位满足条件,猎聘网显示共找到 10000+ 职位,拉勾网显示职位 ( 500+ )。Java 的综合需求还是很大的。只要有实力就不怕找不到工作。 至于 java 开发的薪资待遇,参考职友网数据:北京 java 开发平均工资¥10890元/月,上海 java 开发平均工资¥11490元/月,深圳 java 开发工程师平均工资¥11890元/月,广州 java

零基础入行如何学习Java呢?

和自甴很熟 提交于 2020-08-10 02:17:24
  Java开发常年占据着编程语言排行榜的首位,是很多人学习的选择。但不少人都会因为Java的学习难度而退缩,觉得没有基础学习Java开发难度会非常大,那么学习Java开发难吗?初学者要如何学习呢?下面,千锋给大家介绍一下。   其实,Java的学习并没有想象中那么难,只要我们可以掌握正确的学习方法,Java学习还是很简单的。对于新手来说,学习Java要经历从认知到掌握,从理论到实战的过程。而这个过程中涉及到众多的知识点以及编程思维的转变,有一定的难度,但这样更能说明Java开发工程师的职业价值。   对于初学者来说,只要在学习过程中,掌握科学的学习方法,即使零基础的入行者也能充分掌握Java开发技术,那究竟如何才能学习Java呢?   第一阶段:企业入门级项目阶段,让学员可掌握Java核心基础、面向对象、JavaSE API、MySQL数据库、JDBS、HTML+CSS、Servlet、JSP、JavaScript等,学员可以完成常见中小型互联网项目开发,达到初级Java开发工程师能力。   第二阶段企业框架级项目阶段是进阶阶段,让学员增强Java基础、web基础、CSS/JavaScript进阶、Maven项目管理、Spring5、SpringMVC、Mybatis、SMM综合项目、学员项目等,完成本阶段学员可以胜任各行业企业级项目中高级工程师岗位。