12 2023 档案
摘要:要知道,做一个游戏,摄像头是必不可少的。接下来,我将讲解libgdx里面摄像头的移动 2d摄像头OrthographicCamera也叫做正交相机 结果展示: 按上下左右是可以移动的 OrthographicCamera camera的使用: 完整代码: package com.brentaurel
阅读全文
摘要:今天讲解libgdx的示例代码知识 SpriteBatch 用于绘制 2D 图像 Texture 资源的实体类 music 长音乐如背景音乐 sound 短音乐,如一个物体触发的短时间音乐 代码: package com.mygdx.game; import com.badlogic.gdx.App
阅读全文
摘要:一般来说使用这个工具做游戏的都是java开发者,这种技术在国外勉强算是必学的,而在国内却很少有这方面的知识。 接下来,我将讲解如何安装libgdx,也算是简单的libgdx入门 工具:idea、jdk17、gradle7.5.1及其以上 第一步,下载gdx-setup.jar包 下载地址:https
阅读全文
摘要:写这个博客的目的:新人去看jextract的官网是看不懂的,就算看懂了也不会使用,一头雾水,我会从0开始教如何使用,如何搭配java去调用c函数。 首先我们得了解jextract是什么,官网的解释是一种从本机库头文件机械地生成 Java 绑定的工具。该工具利用 clang C API 来解析与给定本
阅读全文
摘要:为什么我会考虑这个问题呢?因为我在使用java去调用一个c的lib库的时候,弹出以下警告: D:\work\ideaworkpaces\jdk21Test001\src\main\java\lib\hello.lib: %1 不是有效的 Win32 应用程序。 at java.base/jdk.in
阅读全文
摘要:对于一个经常写javaWeb的人来说,使用Visual Studio似乎没什么必要,但是对于使用ffi的人来说,使用c或c++编译器,似乎是必不可少的,下面我将讲述如何用Visual Studio 2022 来创建lib和dll,并使用。 静态库的创建并使用 首先打开Visual Studio 20
阅读全文
摘要:安装Protobuf并配置idea Protocol Buffers(又名 protobuf)是 Google 的中立语言, 平台中立、可扩展的结构化数据序列化机制。 官网: https://github.com/protocolbuffers/protobuf 作用就是用来进行数据传输的,比如说j
阅读全文
摘要:Http的演进 Http在1.1版本之前具有无状态的特点,每次请求都需要通过TCP三次握手四次挥手与服务器重新建立连接。比如某个客户端在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户请求,所以每次需要重新响应请求、耗费不必要的时间和流量。为了节省资源消耗,Http也进行了发展和演进,通
阅读全文
摘要:netty解码 netty通过内置处理器HttpRequestDecoder和HttpObjectAggregator对Http请求报文进行解码之后,Netty会将Http请求封装成一个FullHttpRequest实例,然后发送给下一站。 Netty内置的与Http请求报文相对应的类大致有如下几个
阅读全文
摘要:介绍:TCP/IP包含了一系列的协议,也叫TCP/IP协议族,简称TCP/IP。该协议族提供了点对点的连接机制,并将传输数据帧的封装、寻址、传输、路由以及接收方式都予以标准化 TCP/IP的分层模型 在讲TCP/IP协议之前,首先介绍一下七层ISO模型: 七层框架通信协议应用层 http、smtp、
阅读全文
摘要:现在我们来用netty实现文件传输的HTTP服务器和客户端 pom依赖文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www
阅读全文
摘要:Java的Unsafe类是一个非常特殊的类,它提供了一组原始、底层的操作,可以跳过Java的限制,直接操作内存和对象。这些操作可能会破坏Java的安全机制,所以Unsafe类被标记为不安全的。 Unsafe类提供了下列方法: allocateInstance(Class<T>): 通过反射创建一个实
阅读全文
摘要:研究Optional源码之前先谈一谈Objects源码。 主要代码: @ForceInline public static <T> T requireNonNull(T obj) { if (obj == null) { throw new NullPointerException(); } els
阅读全文
摘要:单线程Reactor package org.example.utils.echo.single; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.channels.*; import ja
阅读全文
摘要:journalctl 显示最近登录的: 上面有最近登录的时间,和系统操作 几十年来,Linux日志记录一直由syslogd守护进程管理。Syslogd将收集系统处理和应用程序发送到/dev/log伪设备的日志消息。然后,它会将消息定向到/var/log/目录中适当的纯文本日志文件。Syslogd(图
阅读全文