Java
【Netty】02-入门
二. Netty 入门 1. 概述 1.1 Netty 是什么? Netty 是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端 1.2 Netty 的作者 他还是另一个著名网络应用框架 Mina 的重要贡献者 1.3 Netty 的地位 Netty 在 Java 网络应用框架中的地位就好比:Spring 框架在 JavaEE 开发中的地位 以下的框架都使
【Netty】03-进阶
三. Netty 进阶 1. 粘包与半包 1.1 粘包现象 服务端代码 客户端代码希望发送 10 个消息,每个消息是 16 字节 服务器端的某次输出,可以看到一次就接收了 160 个字节,而非分 10 次接收 1.2 半包现象 客户端代码希望发送 1 个消息,这个消息是 160 字节,代码改为 为现象明显,服务端修改一下接收缓冲区,其它代码不变 服务器端的某次输出,可以看到接收的消息被分
jdk安装及编写第一个代码hello world
jdk卸载 打开java环境变量,找到路径 删除java文件安装目录 删除java环境变量JAVA_HOME、path变量有关java的变量 命令行java -version查看java是否被卸载 jdk安装 下载安装对应版本的jdk 配置环境变量JAVA_HOME(jdk安装路径)、path变量有关java的变量(%JAVA_HOME%bin、%JAVA_HOME%jrebin) 命令行
JVM内存结构&Java内存模型&Java对象模型
1.JVM内存结构 Java代码是运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把管理的内存划分为若干个不同的数据区域。其中有些区域是随着虚拟机进程的启动而存在,而有些区域则依赖用户线程的启动和结束而建立和销毁。而这些区域会被划分为五个区域,具体的如下: 方法区:方法区与是所有线程所共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、及时编译器编译后的代码等数据。当方法区无
配置和使用Ehcache
一、介绍 网上有很多关于Ehcache的介绍,这里就不在多说了,只需要知道Ehcache是一个缓存框架。缓存嘛,就是数据存取比硬盘快,但是容量小的存储区域。当我们需要频繁使用某些数据时,我们可以将这些数据放到缓存中,下次取数据的时候,直接从缓存中取,这样可以节省不少时间。如果我们自己手动进行缓存的管理将是比较棘手的的,因为这已经涉及到很多底层的技术了,但是Ehcache为我们做
JAVA的springboot+vue企业客户信息反馈平台,附源码+数据库+文档+PPT
1、项目介绍 企业客户信息反馈平台能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知企业客户信息反馈平台的便捷高效,不仅为客户提供了服务,而且也推广了自己,让更多的客户了解自己。对于企业客户信息反馈而言,若拥有自己的平台,通过平台得到更好的管理,同时提升了形象。 本平台设计的现状和趋势,从需求、结构、数据库等方面的设计到平台的实现,分别为管理员、客户的实现。论文的内容从平台的设计、描
多线程中的上下文切换
我们都知道,在并发编程中,并不是线程越多就效率越高,线程数太少可能导致资源不能充分利用,线程数太多可能导致竞争资源激烈,然后上下文切换频繁造成系统的额外开销。大量的超时报警,通过工具分析,cs指标很高,然后分析日志,发现有大量wait()相关的Exception,这个时候我们怀疑是在多线程并发处理的时候,出现了大量的线程处理不及时导致的这些问题,后来我们通过减小线程池最大线程数,再进行压测发现系统
EasyExcel【功能】
一、介绍 EasyExcel 是一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具。 他能让你在不用考虑性能、内存等因素的情况下,快速完成 Excel 的读、写等功能。 二、官网链接 https://easyexcel.opensource.alibaba.com/ 三、EasyExcel 依赖 四、读 Excel 流程 1. 准备 Excel
Hadoop的完全分布式搭建
Hadoop的完全分布式搭建 集群规划 主机名 Hadoop10 Hadoop11 Hadoop12 网络 192.168.10.10 192.168.10.11 192.168.10.12 用户 hadooproot hadooproot hadooproot HDFS NameNodeDateNode DateNode Secondary NameNodeDataNode
JS 对象数组多属性排序
有{firstSort: number, secondSort: number}类型的对象数组,先按 firstSort 升序排序,再按 secondSort 升序排序: 输出: 来自:ChatGPT
《面试1v1》volatile
基本功 我是 javapub,一名 Markdown 程序员从👨💻,八股文种子选手。 面试官: 你能解释一下 volatile 关键字的作用吗? 候选人: 当我们在编写多线程程序时,经常会遇到线程安全的问题。其中一个常见的问题是可见性问题,即一个线程修改了共享变量的值,但是其他线程并不能立即看到这个修改。这时候,我们可以使用 volatile 关键字来解决这个问题。 面试官: 非常好。那么
盘点| 三种移动跨平台方案
跨平台技术是前端人必备技能,今天就来为大家解读一下近几年业界主流的三大移动端跨平台方案: Web 天然跨平台: Web App、PWA(Progressive Web Apps)、Hybrid App、PHA(Progress Hybrid App)都可以实现跨平台,WebView 是一种基于浏览器内核的跨平台解决方案,通过在移动应用中嵌入一个浏览器组件,可以使用 HTML、CSS 和 JavaS
select2多选下拉框
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare
IO流 p11 Properties
# Properties类 基本介绍 专门用于读写配置文件的集合类 配置文件的格式: 键=值 键=值 注意:键值对不需要有空格,值不需要用引号一起来。默认类型是String。 Properties的常见方法 load:加载配置文件的键值对 到Properties对象; list:将数据显示到指定设备/流对象; getProperty(key):根据键获取值; setProper
@Param、@PathVariable 和 @RequestParam的使用场景和区别
@Param、@PathVariable 和 @RequestParam的使用场景和区别 @Param 注解: 使用框架:MyBatis(持久层框架),一般只在xxxmapper.java上使用,当传输的数据超过一个时,需要使用它来取别名,否则数据库无法区分 用途:指定方法参数与 SQL 查询参数的对应关系。 场景:在 MyBatis 中,@Param 注解用于给方法参数取一个自定义的名称,然后
AtomicInteger
AtomicInteger是Java中的一个原子类,用于实现对整型变量的原子操作。它提供了一些方法,如get()、set()、getAndSet()、compareAndSet()等,可以实现原子性的读取、设置、获取并设置、比较并设置等操作。 以下是一些关于AtomicInteger的链接: Java官方文档:https://docs.oracle.com/javase/8/docs/api/j
怎样将PWA和小程序融合?
PWA代表“渐进式网络应用”(Progressive Web Application)。它是一种结合了网页和移动应用程序功能的技术概念。PWA旨在提供类似于原生应用程序的用户体验,包括离线访问、推送通知、后台同步等功能,同时又具有网页的优势,如跨平台、无需下载安装等。 PWA使用现代的Web技术来创建应用程序,包括HTML、CSS和JavaScript。通过使用Service Worker(服务工
Java 多线程安全机制
在开始讨论java多线程安全机制之前,首先从内存模型来了解一下什么是多线程的安全性。 我们都知道java的内存模型中有主内存和线程的工作内存之分,主内存上存放的是线程共享的变量(实例字段,静态字段和构成数组的元素),线程的工作内存是线程私有的空间,存放的是线程私有的变量(方法参数与局部变量)。线程在工作的时候如果要操作主内存上的共享变量,为了获得更好的执行性能并不是直接去修改主内存而是会在线程私有
深圳前端一年半,投了两个月简历,第一场面试
背景 base深圳,一年半经验,找的初级前端岗位,1-3年,投简历两个月只有两个面试,这是第一个面试 一面 你对html元素是怎么分类的? 一开始我愣了一下?搞这么简单的问题???后面又问面试官你是指的id选择器这些吗,,还是display:block,inline-block这些?不管了,反正我全都讲了一遍,说了下这些八股文基础,感觉有点简单,说得有点少。另外又展开说了HTM
移动应用架构新思路——WePY+小程序容器
WePY(微信小程序开发框架)是一个基于组件化开发思想的微信小程序开发框架。它类似于Vue.js框架,通过封装小程序原生的API,提供了更加简洁、高效的开发方式。 WePY的主要特点包括: 组件化开发:WePY将页面拆分为多个组件,每个组件有自己的样式、模板和逻辑。这种组件化的开发方式能够提高代码的复用性和可维护性,同时也便于团队协作开发。 支持Vue.js语法:WePY借鉴了Vue.js
后端项目部署到腾讯云服务器
将项目后端接口部署到腾讯云服务器上 在腾讯云服务器上点击登录,进入命令行: 一、jdk环境准备 1、执行命令rpm -qa | grep java查看系统当前是否安装了jdk,显然本系统无任何版本的jdk。 2、执行yum search jdk,查询腾讯云服务器上的jdk有哪些: 3、我们安装查询到的第二条记录java-1.8.0-openjdk.x86_64,执行命令yum -
WePY基本功能及特性介绍
在小程序开发中,提高开发效率、优化代码质量和增强用户体验是每位开发者都追求的目标。而wepy作为一种基于Vue.js的小程序开发框架,提供了更好的开发体验和更高效的开发方式。本文将介绍wepy的基本功能和特性,分享一些实际的代码案例,帮助开发者快速上手和掌握wepy,从而提升小程序开发的效率和质量。 一、快速上手 在开始之前,请确保你已经安装了Node.js和npm。接下来,我们将通过几个简单的步
一次简单的蓝牙相关安卓代码逆向记录
前言 本来工作方面和安卓根本没任何交集,把这个过程记录下来,只是一个小总结。涉及到的知识点有 Apktool可以用于逆向apk。 使用apktool合成的apk,需要apksigner签名才能安装成功。 较新版本安卓,扫描蓝牙需要定位权限。 connectGatt在较新的Android版本上,可能要传递额外参数,才能连接到低功耗蓝牙。 Smali中invoke-virtual添加函数参数时,
直播平台制作,vue + element ui 实现前端分页
直播平台制作,vue + element ui 实现前端分页 一、DOM结构 <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
JAVA基础面试笔记
JVM、JRE和JDK的关系 JVM Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。 JRE Java Runtime Environment包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、
NIO 是不是就是IO多路复用?NO
似乎从互联网起源,BIO、NIO 的话题就从未间断,无论是平时还是面试。那么他们到底是什么?希望你看完这个文章彻底理解这些概念,同时这边文章也使用 Java 代码实现一个 I/O 多路复用的实例,最后到 I/O 原理。 IO 是什么? 首先要了解什么是 I/O,一次网络请求、一次磁盘读取都是I/O,所以可以泛泛的理解,数据需要通过媒介进行读取和写入都是IO。 下面是一次网络内容读取的 I/O 示意