JDK

SpringBoot + Websocket 实现实时聊天

99封情书 提交于 2020-10-04 09:45:18
SpringBoot + WebSocket 实现实时聊天 最近有点小时间,上个项目正好用到了websocket实现广播消息来着,现在来整理一下之前的一些代码,分享给大家。 WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。 一、环境介绍 开发工具:IntelliJ IDEA 运行环境:SpringBoot2.x、ReconnectingWebSocket、JDK1.8+、Maven 3.6 + ReconnectingWebSocket 是一个小型的 JavaScript 库,封装了 WebSocket API 提供了在连接断开时自动重连的机制。 只需要简单的将: ws = new WebSocket ( 'ws://....' ) ; 替换成: ws = new ReconnectingWebSocket ( 'ws://....' ) ; WebSocket 属性ws.readyState: ​ 0 - 表示连接尚未建立。 ​ 1 - 表示连接已建立,可以进行通信。 ​ 2 - 表示连接正在进行关闭。 ​ 3 - 表示连接已经关闭或者连接不能打开。 WebSocket事件: 事件 事件处理程序 描述 open ws.onopen 连接建立时触发 message ws

Flutter:最难搞的搭建环境,一次性成功!(新手踩坑)

蓝咒 提交于 2020-10-04 05:35:10
进入我的主页,查看更多Flutter的分享! 我的电脑是Win10系统,专业版 最新版本。 问答环节: 问1:Flutter怎么开发? 答:开发Dart,表现为后缀为dart的文件。 问2:Flutter能做什么? 答:能打包App,包括安卓和IOS。 问3:网上的教程,会说出现错误的较多,我也遇到了怎么解决?比如gradle版本太低? 答:按照推荐的配置,不会出错,只是单间环境而已,没那么复杂。 问4:必须安装Android Studio吗?不会用!笔记本会卡! 答:安装是为了下载 Android SDK ,这个是必须的;并且,我直接下载 Android SDK ,运行失败了。因此,(我的电脑)得安。 一、搭建环境 1. 需要Git 下载会慢一些,但谁的电脑上没有这个?(https://git-scm.com) 配置: $ git config --global user.name "yourname" $ git config --global user.email yourmail@example.com 2. 需要JDK 不建议用最新版14.x,会报错(android某个文件出现某个错误之类的)。这错误我是没解决,猜测是JDK最新版本改动很大或者Flutter还没有兼容到。 最低版本,建议 JDK8 。直接百度搜或(https://www.oracle.com/java

第二弹!「Java面试题精华集」1w字的Java集合框架篇(2020最新版)!

 ̄綄美尐妖づ 提交于 2020-10-04 03:44:39
本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide: https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大部分Java程序员所需要掌握的核心知识。) 相关文章: 「Java面试题精华集」1w字的Java集合框架篇(2020最新版)附PDF版 ! 1. 剖析面试最常见问题之 Java 集合框架 1.1. 集合概述 1.1.1. Java 集合概览 从下图可以看出,在 Java 中除了以 Map 结尾的类之外, 其他类都实现了 Collection 接口。 并且,以 Map 结尾的类都实现了 Map 接口。 1.1.2. 说说 List,Set,Map 三者的区别? List (对付顺序的好帮手): 存储的元素是有序的、可重复的。 Set (注重独一无二的性质): 存储的元素是无序的、不可重复的。 Map (用 Key 来搜索的专家): 使用键值对(kye-value)存储,类似于数学上的函数 y=f(x),“x”代表 key,"y"代表 value,Key 是无序的、不可重复的,value 是无序的、可重复的,每个键最多映射到一个值。 1.1.3. 集合框架底层数据结构总结 先来看一下 Collection 接口下面的集合。 1.1.3.1. List Arraylist : Object

查看jar包下java类,查看java类在那个jar包

扶醉桌前 提交于 2020-10-04 00:37:30
这两个工具的作用: 找某个jar包下某个class某个方法 查看java类在那个jar包下。 解决:服务器上java程序报错:ClassNotFoundException,NoClassDefFoundError下边有补充解析。 只需要依赖jdk,直接复制这个类去某个机器上跑一下就可以,方便快捷 查看java类在那个jar包 java添加classpath linux示例:添加 -classpath xxx/xxx.jar:xxx/xxx.jar 如果是windows用;分割,如果是mac和linux用:分割 java编译 javac -d . xxx.java 点代表当前目录如果没报名可以不加-d . 示例 javac -d . Test.java 运行 java com.dxz.chama.javaagent.asm.Test 如果添加class资源运行 java -classpath xxx/xxx.jar:xxx/xxx.jar com.dxz.chama.javaagent.asm.Test package com.dxz.chama.javaagent.asm; import java.net.URL; /** * description: 查找某个类在那个jar包下 * * @author: he QQ: 905845006 * @email: 905845006

Spring AOP学习笔记04:AOP核心实现之创建代理

丶灬走出姿态 提交于 2020-10-03 21:38:19
   上文 中,我们分析了对所有增强器的获取以及获取匹配的增强器,在本文中我们就来分析一下Spring AOP中另一部分核心逻辑--代理的创建。这部分逻辑的入口是在wrapIfNecessary()方法中紧接着增强器的获取之后的createProxy(): protected Object createProxy( Class <?> beanClass, String beanName, Object[] specificInterceptors, TargetSource targetSource) { ProxyFactory proxyFactory = new ProxyFactory(); // 获取当前类中相关属性 proxyFactory.copyFrom( this ); // 决定对于给定的bean是否应该使用targetClass而不是它的接口进行代理 if (! shouldProxyTargetClass(beanClass, beanName)) { // Must allow for introductions; can't just set interfaces to // the target's interfaces only. Class<?>[] targetInterfaces = ClassUtils

Java学习路线:day22 枚举类与注解

好久不见. 提交于 2020-10-03 18:55:19
目录 第10章枚举类与注解 枚举类的使用 枚举类的理解 自定义枚举类 使用enum关键字定义枚举类 Enum类中的常用方法 使用enum关键字定义的枚举类实现接口 注解的使用 注解的理解 Annotation的使用示例 如何自定义注解 jdk中4个基本的元注解的使用1 jdk中4个基本的元注解的使用2 利用反射获取注解信息 jdk8新特性:可重复注解 jdk8新特性:类型注解 全部源码: https://github.com/name365/JavaSE-30Day 第10章枚举类与注解 枚举类的使用 枚举类的理解 类的对象只有有限个,确定的。举例如下: 星期:Monday(星期一)、......、Sunday(星期天) 性别:Man(男)、Woman(女) 季节:Spring(春节)......Winter(冬天) 支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银行卡)、CreditCard(信用卡) 就职状态:Busy、Free、Vocation、Dimission 订单状态:Nonpayment(未付款)、Paid(已付款)、Delivered(已发货)、Return(退货)、Checked(已确认)Fulfilled(已配货)、 线程状态:创建、就绪、运行、阻塞、死亡 当需要定义一组常量时,强烈建议使用枚举类 枚举类的实现

4W字的后端面试知识点总结(持续更新)

为君一笑 提交于 2020-10-03 13:28:41
点赞再看,养成习惯,微信搜索【 三太子敖丙 】关注这个互联网苟且偷生的工具人。 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点、资料以及我的系列文章。 前言 前段时间敖丙不是在复习嘛,很多小伙伴也想要我的复习路线,以及我自己笔记里面的一些知识点,好了,丙丙花了一个月的时间,整整一个月啊,给大家整理出来了。 一上来我就放个大招好吧,我的复习脑图,可以说是全得不行,为了防止被盗图,我加了水印哈。 这期看下去你会发现很硬核,而且我会持续更新,啥也不说了,看在我熬夜一个月满脸痘痘的份上,你可以点赞了哈哈。 注:如果图被压缩了,可以去公众号【三太子敖丙】回复【复习】获取原图 Spring Spring框架的七大模块 Spring Core:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。 Spring Context:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。 Spring DAO:提供了JDBC的抽象层,还提供了声明性事务管理方法。 Spring ORM:提供了JPA、JDO、Hibernate、MyBatis 等ORM映射层. Spring AOP:集成了所有AOP功能 Spring Web:提供了基础的 Web 开发的上下文信息,现有的Web框架,如JSF

京淘实训Day11-Linux实现商品后台部署

浪尽此生 提交于 2020-10-03 13:13:29
1 VMware虚拟机安装说明 什么是虚拟机: 可以在windows操作系统中提供了运行其他操作系统的环境. 1.1 虚拟机安装网卡说明 说明:安装好虚拟机之后.windows操作系统中必然会出现2张网卡来提供网络服务.如果缺少需要重新安装虚拟机!!! 1.2 安装运行虚拟机 1.3 安装之后的效果 1.3 安装之后的效果 1.点击虚拟网络编辑器 2.切换网络 3.设定租约时间 4.检查网关地址 5.输入用户名和密码 root/root 6.检查IP地址信息 ip addr 6.检查windows 与Linux 通信是否畅通 如果上述的操作都成功,则表示Linux环境安装正确. 1.4 使用虚拟机中遇到的错误 问题描述: 通过开机 F1等 进入bios系统中,设置cpu参数,将vt-x的参数改为enable 之后 f10保存退出即可. 2.Xshell安装和使用 说明: 安装课前资料中提供的Xshell安装包. 作用: 可以通过网络远程链接服务器. 做到在家办公. 2.1 Linux 查看IP地址命令 1). ip addr 如果上述的操作没有争取的显示IP地址信息,则需要重置网卡即可. 命令: 2.2 Xshell链接远程服务器 说明:输入用户名和密码,并且记住用户名和密码,可以实现免密登陆. 3.Linux操作系统介绍 3.1 Linux内核 3.2 Linux命令

Harmony OS 开发指南——DevEco Device Tool 安装配置

喜夏-厌秋 提交于 2020-10-03 12:41:24
Harmony OS 开发指南——DevEco Device Tool 安装配置 本文介绍如何在Windows主机上安装DevEco Device Tool工具。 坑点总结 : 国内部分网络环境下,安装npm包可能会很慢或者超时,推荐使用国内npm源(如淘宝源、华为源等); serialport这个npm包安装的过程中需要编译源码,需要先安装windows-build-tools再安装这个包才会成功; DevEco Device Tool中打包了预编译的.exe文件,只能在Windows版的VSCode中使用(暂不支持Linux和Mac OS); 准备环境 本节介绍下载、编译鸿蒙源码需要的软硬件环境。 硬件环境 其中,Linux主机用于源码下载和编译,Windows主机用于烧写程序到单板以及源码编辑。 软件环境 硬件 说明 Linux主机 推荐实际物理机器,Ubuntu16.04及以上64位系统,Shell使用bash,安装有samba、vim等常用软件,需要做适当适配以支持linux文件共享,(Samba配置需要注意,除了修改配置文件,还需要使用 smbpasswd 命令创建密码);使用虚拟机也可以,但需要配置正确虚拟网络,这里不做详细介绍。 Windows主机 Windows XP/Windows7/Windows10 系统 USB转UART芯片驱动

Java集合-Map

断了今生、忘了曾经 提交于 2020-10-03 12:03:03
Map集合 特点 双列集合<K,V> Key 和 Value一一对应 K不允许重复,V可以重复 K,V的数据类型可以相同,也可不同 常用方法 方法 描述 V put(K key, V value) 将指定的值与该映射中的指定键相关联(可选操作)。 V remove(Object key) 如果存在(从可选的操作),从该地图中删除一个键的映射。 V get(Object key) 返回到指定键所映射的值,或 null如果此映射包含该键的映射。 boolean containsKey(Object key) 如果此映射包含指定键的映射,则返回 true 。 Set keySet() 返回此地图中包含的键的Set视图。 Set<Map.Entry<K,V>> entrySet() 返回此地图中包含的映射的Set视图。 内部接口:Entry<K,V> 作用:当Map集合创建,就会创建一个Entry对象,用来存储键值对。 测试代码 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * 测试Map集合的常用方法 * add、remove、get、containKey、keySet、entrySet */ public class TestMap