Java EE

.NetCore学习笔记:六、Swagger API接口文档工具

此生再无相见时 提交于 2020-10-07 04:39:02
Swagger一个优秀的Api接口文档生成工具。Swagger可以可以动态生成Api接口文档,有效的降低前后端人员关于Api接口的沟通成本,促进项目高效开发。 1、使用NuGet安装最新的包:Swashbuckle.AspNetCore。 2、编辑项目文件(NetCoreTemplate.Web.csproj),配置Xml文档生成目录。 < PropertyGroup Condition ="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'" > < DocumentationFile > bin\Debug\netcoreapp3.1\NetCoreTemplate.Web.xml </ DocumentationFile > < OutputPath > bin\Debug\netcoreapp3.1\ </ OutputPath > </ PropertyGroup > < PropertyGroup Condition ="'$(Configuration)|$(Platform)'=='Release|AnyCPU'" > < DocumentationFile > bin\Release\netcoreapp3.1\NetCoreTemplate.Web.xml </ DocumentationFile > <

处理“ java.lang.OutOfMemoryError:PermGen空间”错误

落爺英雄遲暮 提交于 2020-10-07 00:50:12
问题: Recently I ran into this error in my web application: 最近,我在Web应用程序中遇到此错误: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError:PermGen空间 It's a typical Hibernate/JPA + IceFaces/JSF application running on Tomcat 6 and JDK 1.6. 这是在Tomcat 6和JDK 1.6上运行的典型Hibernate / JPA + IceFaces / JSF应用程序。 Apparently this can occur after redeploying an application a few times. 显然,这可能是在重新部署应用程序几次之后发生的。 What causes it and what can be done to avoid it? 是什么原因引起的,可以采取什么措施避免它发生? How do I fix the problem? 我该如何解决该问题? 解决方案: 参考一: https://stackoom.com/question/Mx9/处理-java-lang-OutOfMemoryError-PermGen空间

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

可紊 提交于 2020-10-07 00:48:19
java两台服务器之间,大文件上传(续传),采用了Socket通信机制以及JavaIO流两个技术点,具体思路如下: 实现思路: 1、服:利用ServerSocket搭建服务器,开启相应端口,进行长连接操作 2、服:使用ServerSocket.accept()方法进行阻塞,接收客户端请求 3、服:每接收到一个Socket就建立一个新的线程来处理它 4、客:利用Socket进行远程连接,询问已上传进度 5、客:使用FileInputStream.skip(long length)从指定位置读取文件,向服务器发送文件流 6、服:接收客户端输入流,使用RandomAccessFile.seek(long length)随机读取,将游标移动到指定位置进行读写 7、客/服:一个循环输出,一个循环读取写入 8、示例:以下是具体代码,仅供参考 文件介绍: FileUpLoadServer.java(服务器接收文件类) FileUpLoadClient.java(客户端发送文件类) FinalVariables.java(自定义参数类) SocketServerListener.java(JavaWeb启动Socket操作类) web.xml(配置文件,跟随项目启动) 断点上传(服务端) package com.cn.csdn.seesun2012.socket; import java.io

Tomcat的使用及服务器的一些基础知识

耗尽温柔 提交于 2020-10-07 00:32:18
Tomcat的使用及服务器和web的一些基础知识 两种不同的软件架构 * C/S 客户端/服务器端 B\S 浏览器/服务器端 资源的分类 静态资源: 所有用户访问后,得到的结果是一样的,称为静态资源,静态资源可直接被浏览器解析 如 html,css,JavaScript 动态资源 : 不同用户访问后得到的结果不同,动态资源被访问后要先转换为静态资源,再返回给浏览器 如:servlet/jsp,php,asp 图解 网络资源三要素:IP 端口 传输协议 1.IP :电子设备(计算机)在网络中的唯一表示(相当于身份证) 2.端口 :应用程序在计算机中的唯一标识 3.传输协议 :规定了数据传输的规则 1.基础协议:TCP协议:安全协议,三次握手,速度稍慢 UPD:速度快,但是不安全 对传输协议有不懂的可以看看鄙人的这篇文章 链接 : https://blog.csdn.net/pjh88/article/details/107480903 web服务器软件 服务器: 安装了服务器软件的计算机 服务器软件 :接收用户的请求,处理请求,做出响应 web服务器软件 :接受用户请求,处理请求,做出响应 在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目 常见的java相关的web服务器软件: webLogic :oracle公司,大型的JavaEE服务器

Spring Boot 无侵入式 实现API接口统一JSON格式返回

落花浮王杯 提交于 2020-10-06 21:47:14
   ★★★ 建议 星标 我们 ★★★   公众号改版后文章乱序推荐,希望你可以点击上方“ Java进阶架构师 ”,点击右上角,将我们设为 ★ “ 星标 ”!这样才不会错过每日进阶架构文章呀。       2020年Java原创面试题库连载中    无侵入式 统一返回JSON格式   其实本没有没打算写这篇博客的,但还是要写一下写这篇博客的起因是因为,现在呆着的这家公司居然没有统一的API返回格式?,询问主管他居然告诉我用HTTP状态码就够用了(fxxk),天哪HTTP状态码真的够用吗?   在仔细的阅读了项目源码后发现,在API请求的是居然没有业务异常(黑人问好)。好吧 居然入坑了只能遵照项目风格了,懒得吐槽了。   因为项目已经开发了半年多了, 要是全部接口都做修改工作量还是挺大的, 只能用这种无侵入式的方案来解决.    项目源代码: https://github.com/469753862/galaxy-blogs/tree/master/code/responseResult 定义JSON格式 定义返回JSON格式   后端返回给前端一般情况下使用JSON格式, 定义如下    { "code": 200, "message": "OK", "data": {    } }   code: 返回状态码   message: 返回信息的描述   data: 返回值  

二面快手,凉在 SpringBoot上!

若如初见. 提交于 2020-10-06 09:11:26
网上看到一求助帖说:“SpringBoot 配置一直不对,在线求助大佬”。下面有几位朋友的回复,“SpringBoot 太简单了,不适合学!” 这样的也是皮:做 Java 开发, 真敢小觑 Spring Boot? 现在出去面试,无论大小公司 or 项目,都要跟你扯一扯 Spring Boot、微服务,如果啃不下来,很可能直接说拜拜!像快手、美团、网易这些一线大厂都在用它来做敏捷开发,你敢说不适合学? 要知道,如果你能把 Spring Boot 的原理实现吃透的话,就能从中学习到不少前辈优秀的架构设计思想,总结出最优使用方案,绕过工作中遇到的很多坑,进而更好地突破职业和技能瓶颈。 近些年,技术更新迭代是相当快, SpringBoot、SringCloud、Dubbo、Redis 等各种分布式开源框架 。如果一直停滞不前,或者只是受限于只是会用的层次,对未来的职业发展会很不利。这里分享一个十分干货的技术分享 《 SpringBoot 技术整合秘籍》。 视频由开课吧资深讲师,廖雪峰团队实力专家深度调研 BAT、美团、快手等知名大厂业务需求,历时 3 个月精心录制而成,从工作刚需业务场景出发,内容专业且硬核,让你在实际案例中较快刷新Spring技术知识体系,非常适合做后端开发的朋友。 学完,你可以 梳理 SpringBoot 技术体系,查漏补缺 实战场景式学习,快速进阶

JVM系列.JDK演进历史

时光怂恿深爱的人放手 提交于 2020-10-06 07:34:22
Java程序员为什么要了解虚拟机相关的知识 Java程序在设计之初就号称“一次编译,到处运行”。Java之所以能做到“一次编译,处处运行”是因为Java虚拟机隐藏了底层技术的复杂性以及机器和操作系统的差异性。 运行程序的物理机千差万别,而Java虚拟机则在千差万别的物理机上面建立了统一的运行平台,实现了在任意一台Java虚拟机上编译的程序,都能在任何其他Java虚拟机上正常运行。 这一极大的优势使得Java应用的开发比传统C/C++应用的开发更高效快捷,程序员可以把主要精力放在具体业务逻辑,而不是放在保障物理硬件的兼容性上。通常情况下,一个程序员只要了解了必要的Java类库API、Java语法,学习适当的第三方开发框架,就已经基本满足日常开发的需要了。 随着Java技术的不断发展,它已被应用于越来越多的领域之中。其中一些领域,如互联网、能源、金融、通信等,对程序的性能、稳定性和扩展性方面会有极高的要求。 一段程序很可能在10个人同时使用时完全正常,但是在10000个人同时使用时就会缓慢、死锁甚至崩溃。毫无疑问,要满足10000个人同时使用,需要更高性能的物理硬件,但是在绝大多数情况下,提升硬件性能无法等比例提升程序的运行性能和并发能力,甚至有可能对程序运行状况没有任何改善。这里面有Java虚拟机的原因:为了达到“所有硬件提供一致的虚拟平台”的目的,牺牲了一些硬件相关的性能特性。

第02课:Spring Boot 进阶

 ̄綄美尐妖づ 提交于 2020-10-06 06:40:49
上一篇带领大家初步了解了如何使用 Spring Boot 搭建框架,通过 Spring Boot 和传统的 SpringMVC 架构的对比,我们清晰地发现 Spring Boot 的好处,它使我们的代码更加简单,结构更加清晰。 从这一篇开始,我将带领大家更加深入的认识 Spring Boot,将 Spring Boot 涉及到东西进行拆解,从而了解 Spring Boot 的方方面面。学完本文后,读者可以基于 Spring Boot 搭建更加复杂的系统框架。 我们知道,Spring Boot 是一个大容器,它将很多第三方框架都进行了集成,我们在实际项目中用到哪个模块,再引入哪个模块。比如我们项目中的持久化框架用 MyBatis,则在 pom.xml 添加如下依赖: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.40</version> <

最最入门版的servlet,前后端连接

我们两清 提交于 2020-10-06 05:17:14
最最入门版的servlet,前后端连接 servlet开发思路流程for 1.编写配置文件 2.编写前端,写好讲好传入后端的数据 1.登录页面(html) 2.接收数据页面(jsp页面) 3.编写类,后台处理数据 运行截图 结尾 servlet开发思路流程for 1.首先要由配置文件,因为servlet需要初始化(否则前端跳不到后端来) 2.根据业务(前端页面)需求写后端 2.1写客户端请求页面 2.2写客户端响应页面 2.3写后台处理前端发过来的数据(登录页面login),处理完再转发到前端去(登录成功跳转到主页面index) 1.编写配置文件 < ? xml version = "1.0" encoding = "UTF-8" ? > < web - app xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xsi : schemaLocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id = "WebApp_ID" version = "3.1" > < display -