-
Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer
所属栏目:[教程] 日期:2023-04-18 热度:2538
这两个API封装了一个统一的ByteBuffer返回值,在使用上是无差别的。
import java.nio.ByteBuffer;
public class TestByteBuffer {
public static void main(String[] args) {
ByteBuffer buffer =[详细] -
JavaSE实现IoC
所属栏目:[教程] 日期:2023-04-18 热度:9498
简单地说,IoC 是反转控制,类似于好莱坞原则,主要有依赖查找和依赖注入实现
依赖查找是主动或手动的依赖查找方式,通常需要依赖容器或标准API实现。 而依赖注入则是手动或自动依赖绑定的方式,无需依赖特定的容[详细] -
Java 中的引用类型和使用场景
所属栏目:[教程] 日期:2023-04-18 热度:7996
Java 中的引用类型和使用场景 作者:Grey 原文地址: 博客园:Java 中的引用类型和使用场景 CSDN:Java 中的引用类型和使用场景 Java中的引用类型分成「强引用」,「软引用」, 「
Java中的引用类型分成「强引用」[详细] -
Java SE 7 新增特性
所属栏目:[教程] 日期:2023-04-18 热度:631
在Java SE 7中,基本类型(byte、short、int和long)也可以用二进制表示。只需要在数字上添加前缀0b或0B。
public class BinaryTest {
public static void main(String[] args) {
// 0b是二进制的开[详细] -
Java IO学习笔记六:NIO到多路复用
所属栏目:[教程] 日期:2023-04-18 热度:3022
虽然NIO性能上比BIO要好,参考:Java IO学习笔记五:BIO到NIO
但是NIO也有问题,NIO服务端的示例代码中往往会包括如下代码:
....
//遍历已经链接进来的客户端能不能读写数据
for (SocketChanne[详细] -
Java IO 学习笔记一:为什么带 Buffer 的比不带 Buffer 的快
所属栏目:[教程] 日期:2023-04-18 热度:1514
Java IO 学习笔记一:为什么带 Buffer 的比不带 Buffer 的快
原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快
Java 中为什么 BufferedReader ,BufferedWriter 要比 FileReader 和 FileWrite[详细] -
Java IO学习笔记四:Socket基础
所属栏目:[教程] 日期:2023-04-18 热度:825
准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为:
io1实例:192.168.205.138
io2实例:192.168.205.149
安装必要工具:
yum install -y strace lsof pmap tcpdump
准备服务端代码[详细] -
Java IO学习笔记八:多路复用到Netty
所属栏目:[教程] 日期:2023-04-18 热度:7336
多路复用多线程方式还是有点麻烦,Netty帮我们做了封装,大大简化了编码的复杂度,接下来熟悉一下netty的基本使用。
Netty+最朴素的阻塞的方式来实现一版客户端和服务端通信的代码,然后再重构成Netty官方推荐的写[详细] -
Python numpy 入门系列 09 广播
所属栏目:[教程] 日期:2023-04-18 热度:6628
NumPy 广播(Broadcast) 广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。 如果两个数组 a 和 b
NumPy 广播(broadcast)
广播(broadcast)是 numpy[详细] -
Python numpy 入门系列 04 创建数组
所属栏目:[教程] 日期:2023-04-18 热度:8349
NumPy 创建数组 ndarray 数组除了可以使用底层 ndarray 构造器来创建外,也可以通过以下几种方式来创建。 numpy.empty numpy.empty 方法用来创建一个指定形状(s
NumPy 创建数组
ndarray 数组除了可以使用底层 n[详细] -
Python numpy 入门系列 10 迭代数组
所属栏目:[教程] 日期:2023-04-18 热度:2977
NumPy 迭代数组 NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式。 迭代器最基本的任务的可以完成对数组元素的访问。 接下来我们使用 arange()
NumPy 迭代数组
NumPy 迭代器对象 n[详细] -
Python numpy 入门系列 08 高级索引
所属栏目:[教程] 日期:2023-04-18 热度:1491
NumPy 高级索引 NumPy 比一般的 Python 序列提供更多的索引方式。除了之前看到的用整数和切片的索引外,数组可以由整数数组索引、布尔索引及花式索引。 整数数组索引 以下实例获取数组中(0
NumPy 高级索引
NumPy[详细] -
Python numpy 入门系列 07 切片和索引
所属栏目:[教程] 日期:2023-04-18 热度:7461
NumPy 切片和索引 ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。 ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以
NumPy 切片和索引
ndarray对象的内容可以通[详细] -
Python numpy 入门系列 01 简介
所属栏目:[教程] 日期:2023-04-18 热度:283
Python numpy 入门 安装numpy: (1) 文件超过14MB,默认安装常常会超时: C:\Python310\Scripts>pip install numpy pip._vend
Python numpy 入门
安装numpy:
(1) 文件超过14MB,默认安装常常会超时:
C[详细] -
Python入门示例系列33 字符串(高级)
所属栏目:[教程] 日期:2023-04-18 热度:9009
Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。[详细] -
Python numpy 入门系列 06 从数值范围创建数组
所属栏目:[教程] 日期:2023-04-18 热度:5898
NumPy 从数值范围创建数组 学习如何从数值范围创建数组。 numpy.arange numpy 包中的使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如下: numpy.
NumPy 从数值范围创建数组
学习如何从数值范围创建[详细] -
Python入门示例系列31 GUI Tkinter 入门
所属栏目:[教程] 日期:2023-04-18 热度:6924
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。可以在IDLE或Pycharm中编写和测试Tkinter代码。
由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 im[详细] -
Python Tkinter 标签控件Label
所属栏目:[教程] 日期:2023-04-18 热度:4457
Python Tkinter 标签控件(Label)指定的窗口中显示的文本和图像。
标签控件(Label)指定的窗口中显示的文本和图像。
你如果需要显示一行或多行文本且不允许用户修改,你可以使用 Label 组件。
语法
语法[详细] -
Java IO学习笔记五:BIO到NIO
所属栏目:[教程] 日期:2023-04-17 热度:217
准备一个CentOS7的Linux实例, 实例的IP192.168.205.138
我们这次实验的目的就是直观感受一下Socket编程中BIO模型和NIO模型的性能差异
BIO
准备服务端代码:
import java.io.*;
import java.net.InetSocke[详细] -
Java 中的 HashMap
所属栏目:[教程] 日期:2023-04-17 热度:5854
Java 中的 HashMap 作者:Grey 原文地址:Java 中的 HashMap 扩容机制 jdk1.7 先生成新数组。 遍历老数组中的每个位置上的链表上的个元素。 取个元素的key,并基于新
Java 中的 HashMap
作者:Grey
原文地址:[详细] -
Java IO学习笔记三:MMAP与RandomAccessFile
所属栏目:[教程] 日期:2023-04-17 热度:7976
相较于前面提到的BufferedReader/Writer和FileReader/Writer
普通的Reader和Writer只能顺序读写数据,RandomAccessFile提供了一个独有的seek方法,可以修改文件内容的指针,从而可以方便读取和修改文件中的任意位[详细] -
Java 多线程六:容器
所属栏目:[教程] 日期:2023-04-17 热度:6678
这两个都加了锁,一般不推荐使用。
ConcurrentHashMap
ConcurrentHashMap 写效率未必比 HashMap,HashTable 高,但是读效率比这两者要高。
示例代码:
package git.snippets.juc;
import java.util.*;
i[详细] -
Java IO学习笔记七:多路复用从单线程到多线程
所属栏目:[教程] 日期:2023-04-17 热度:1279
public void readHandler(SelectionKey key) {
SocketChannel client = (SocketChannel) key.channel();
ByteBuffer buffer = (ByteBuffer) key.attachment();
buffer.clear();
[详细] -
Java 多线程七:线程池
所属栏目:[教程] 日期:2023-04-17 热度:588
线程池内部是通过队列结合线程实现的,当我们利用线程池执行任务时:
如果此时线程池中的线程数量小于corePoolSize,即使线程池中的线程都处于空闲状态,也要创建新的线程来处理被添加的任务。
如果此时线程池[详细] -
Java SE 16 record 类型说明与使用
所属栏目:[教程] 日期:2023-04-17 热度:6060
record 是 Java SE 16 的新特性
record 的使用场景
假设我们想创建一个不可变的类 Point,它有 x 和 y 的坐标。我们想实例化Point对象,读取它们的字段,并将它们存储在 List 中或在 Map 中作为键值使用。
我[详细]
