Java

仿微信聊天程序 - 09. 聊天信息

本文是仿微信聊天程序专栏的第九篇文章,主要记录了【聊天信息】的逻辑实现,下面涉及代码是《仿微信聊天程序 - 09. 聊天窗口》的基础上进行完善的。 实现效果 在《仿微信聊天程序 - 09. 聊天窗口》章节中,已经实现了基本的聊天界面框架,《09. 聊天信息》这里只是补充实现聊天内容部分功能。 界面布局 聊天内容使用的是WebView来显示,所以这里的布局就是HTML来渲染双方的聊天信息,下面一个

共享模型之管程

一  共享带来的问题 两个线程对初始值为 0 的静态变量一个做自增,一个做自减,各做 5000 次,结果是 0 吗? 以上的结果可能是正数、负数、零。为什么呢?因为 Java 中 对静态变量的 自增,自减并不是原子操作。 例如对于 i++ 而言(i 为静态变量),实际会产生如下的 JVM 字节码指令: 而对应 i-- 也是类似: 出现负数的情况:

ABC310

A 题意 给你(n,p,q) 给你一个(n)长度的数组(D) ,返回(min(D_i+q,p)) B 题意 给你有(N)件产品,每种产品的价格(P_i) ,具有(C_i)种功能 ,(A_{ij})表示第(i)种产品具有第(j)种功能 找到是否满足以下条件的产品对 (P_igeq P_j) 第(j)件产品具有第(i)种产品的全部功能 (P_i>P_j ||C_i<C_j) AC代码

后端编程开发 --- html 学习路线

1.基础。html css javascript dom 2.中级。数据格式定义(json、xml)、restful api(jquery ajax、fetch api、reactivex)、可用性、正则、html语义化、命令行、nodejs、div/css,scss/sass、svg、spa 3.高级。es6、typescript、css3、面向对象编程、函数式编程、mvc、mvvm、跨域、ht

自定义java@注解

自定义注解主要用于抽象出重复代码,以减少枯燥无味的重复工作量 举例:创建Redis分布式锁注解 步骤: 新建interface接口 再创建AOP工具类 以下为RedisTool 然后就能肆意妄为的使用啦

useEffect、异步请求、定时器使用useState闭包问题

useEffect闭包问题: 问题:useEffect使用useState会使调用的所有方法内部的state值为useEffect周期的值,即使在这个过程中useState的值变化也不能影响调用方法内获取到原始值 解决方式:使用useCallabck 可以避免由此产生的闭包问题 异步请求、定时器等js闭包问题: 问题: 异步请求和定时器 的回调函数里调用的方法也会产生js闭包问题  原因

Java-JVM-八股文

线程共享区 如何排查JVM问题 从加载JVM到GC清理,一共经历什么过程-√ 如何确定对象是否需要回收 JVM垃圾回收机制 什么是STW 常用的JVM启动参数有哪些?-※

Java-多线程-八股文

线程安全的理解? 守护线程的理解? threadlocal的底层原理 并发、并行与串行之间的区别? Java死锁应如何避免?-√ Java死锁由四个因素导致: 资源是互斥资源 每次仅可由单个线程持有 在获得所有资源之前,线程自身不释放已持有资源 所需资源在其他线程上,且不可被剥夺 循环依赖,A持有B所需资源,B持有A所需资源 应当打破第四点因素,即可避免死锁发生。 即将所有

Java-Day-32( 多用户即时通信系统 —— 文件传输 + 服务器推送新闻 + 离线留言 )

Java-Day-32 多用户即时通信系统 文件传输 思路: 客户端里先把文件读取到客户端为字节数组,把文件对应的字节数组封装到 message 对象,内含文件内容、sender、getter,将 message 对象发送给服务端 拆解 message 对象获取 getterid,获取客户端被指定的接收用户的通信线程,把 message 转发给此指定用户 负责接收的客户端获取包含有文件的消息后

java-base-two

ArrayList扩容机制 扩容一半(默认方式): 当容量不足时,ArrayList将容量扩大为原来的1.5倍,即将原来的容量除以2,然后加上原来的容量。              如果新创建的集合有带初始值,默认就是传入的大小,在初始化时就会用传入的大小不会扩容,当大小不够后再去扩容。 是错误的 不是局部变量在该

Springboot JPA 集成多租户

背景: ​ iot-kit项目用的是jpa,不是mybatis,项目中需要引入多租户 参考文章: 【讲解多租户的实现与原理】 https://www.bilibili.com/video/BV1F84y1T7yf/?share_source=copy_web&vd_source=981718c4abc87423399e43793a5d3763 https://callistaenterpr

《架构整洁之道》学习笔记 Part 2 编程范式

计算机编程发展至今,一共只有三个编程范式: 结构化编程 面向对象编程 函数式编程 编程范式和软件架构的关系 结构化编程是各个模块的算法实现基础 多态(面向对象编程)是跨越架构边界的手段 函数式编程是规范和限制数据存放位置与访问权限的手段 软件架构的三大关注重点:功能性、组建独立性以及数据管理,和编程范式不谋而合 结构化编程 限制控制权的直接转移,禁止 goto,用 if/else/whil

spring完整笔记

第一章 初识Spring 1.1 Spring简介 Spring是一个为简化企业级开发而生的开源框架。 Spring是一个IOC(DI)和AOP容器框架。 IOC全称:Inversion Of Control【控制反转】 将对象控制权由程序员自己反转交个Spring DI全称:Dependency Injection【依赖注入】 Spring管理对象与对象之间依赖关系 AOP

java中synchronized和Lock的区别?

synchronized和Lock是Java中两种不同的实现线程同步的机制。下面是它们之间的主要区别: 可重入性: synchronized是可重入的,同一个线程可以多次获得同一个锁。 Lock也是可重入的,同一个线程可以多次获得同一个锁。但需要手动释放相同次数的锁。 粒度: synchronized可以用于修饰方法或代码块,粒度较粗。当一个线程进入synchronized区块时,其

第六节 方法(未完成)

知识点 方法 题目1 定义一个方法,该方法能够找出两个小数中的较小值并返回。在主方法中调用方法进行测试。 训练提示 根据方法的功能描述,方法的参数应该是两个小数。 要返回两个小数的较小值,所以返回值类型也是小数类型。 解题方案 操作步骤 定义方法getMin(),方法的参数是double a ,double b。 在方法中对两个数字进行判断,返回较小值。 在主方法中调用getMin()方法并

第三周7.11星期2

八点半睡醒,吃完饭去球馆练球,十一点回家开始pta,吃完饭后睡午觉,醒来后学习java,六点去打球

网络编程 p1 网络基础

网络基础 网络通信 概念:两台设备之间通过网络实现数据传输; 网络通信:将数据通过网络从一台设备传输到另一台设备; java.net包下提供了一系列的类或接口,供程序员使用,完成网络通信; 网络 概念:两台或多台设备通过一定物理设备连接起来构成了网络; 根据网络的覆盖范围不同,对网络进行分类: 局域网:覆盖范围最小,仅仅覆盖一个教室或一个机房; 城域网:覆盖范围较大,可以覆盖一个城市;

第三周7.10星期1

八点半睡醒,吃完饭去球馆练球,十一点回家开始pta,吃完饭后睡午觉,醒来后学习java,六点去打球

第三周7.9星期日

八点半睡醒,吃完饭去球馆练球,十一点回家开始pta,吃完饭后睡午觉,醒来后学习java,六点去打球

第三周7.13星期四

八点半睡醒,吃完饭去球馆练球,十一点回家开始pta,吃完饭后睡午觉,醒来后学习java,六点去打球

第三周7.12星期3

八点半睡醒,吃完饭去球馆练球,十一点回家开始pta,吃完饭后睡午觉,醒来后学习java,六点去打球

第三周7.15星期六

八点半睡醒,吃完饭去球馆练球,十一点回家开始pta,吃完饭后睡午觉,醒来后学习java,六点去打球

Java扩展Nginx之六:两大filter

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《Java扩展Nginx》系列的第六篇,前文的五大handler形成了nginx-clojure开发的基本框架,初步评估已经可以支撑简单的需求开发了,但nginx-clojure并未止步于handler,还提供了丰富的扩展能力,本篇

第三周7.14星期五

八点半睡醒,吃完饭去球馆练球,十一点回家开始pta,吃完饭后睡午觉,醒来后学习java,六点去打球

MyBatis Generator代码生成器

地址:http://mybatis.org/generator/quickstart.html   依赖 配置:generatorConfig.xml   使用:   注意:  

实现concurrentHashMap与redis两级缓存

一、 实现concurrentHashMap与redis两级缓存 以下是一种使用ConcurrentHashMap和Redis实现两级缓存的示例代码: import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; impo

JDK有用的新特性-Switch

目录箭头表达式,新的 case 标签yeild 返回值Java Record Switch 的三个方面,参考: JEP 361 支持箭头表达式 支持 yied 返回值 支持 Java Record 箭头表达式,新的 case 标签 Switch 新的语法,case label -> 表达式|throw 语句|block case label_1, label_2, ..., label_

springboot中解决redissonClien无法注入,封装工具雷

引用:https://blog.csdn.net/feiying0canglang/article/details/120464693 问题来源 前几天遇到一个循环依赖问题,是RedissonClient这个bean引起的。RedissonClient是由一个配置类(@Configuration注解的类)提供的,这配置类在初始化时(@PostConstruct注解的方法中)去获取RedissonC

全网最详细4W字Flink入门笔记(下)

本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 目录Flink State状态CheckPoint & SavePointCheckPoint原理SavePoint原理StateBackend状态后端MemoryStateBackendFsStateBackendRocksDBStateBackend集群级配置StateBackendWindow滚动窗口

暑期 7.15 第一周博客总结

在这一周中我学习了SSM的基本框架,学习了springboot与mybats等的基本知识, 我也学习了b站上黑马程序员最新出的javaweb的视频教程,我又深入学习了一下javascri的语法。 1.我学习了浏览器弹出框的警告:window.alert("")//浏览器弹出警示框 document.alert("")//写入html在浏览器展示 console.log()//写入浏览器控制台 2.

<<  <  938  939  940  941  942  943  944  945  946  947  948  >  >>