GeekySpace Technical Blog

website·Indexed 31 days ago

https://www.geekyspace.cn/

A technical knowledge base covering Java development, including JVM, JUC concurrency, Spring Framework, and Kotlin. The site also provides installation guides for developer tools like Homebrew, SDKMAN, nvm, and nrm, as well as tutorials on MySQL, Flutter, and general OS configuration.

Tokens
62.5K
Snippets
285
Records
433
Agent score
51%

What's inside GeekySpace

  1. Overview of Java 18 Simple Web Server

    Java 18 introduces a Simple Web Server designed for educational or informal tasks. It is a minimal HTTP server that serves a single directory hierarchy. It is based on the com.sun.net.httpserver package.

    Constraints and Limitations:

    • Not intended to replace commercial servers like Jetty, Nginx, or Apache Tomcat.
    • No security features (no authentication, access control, or encryption).
    • Supports HTTP/1.1 only (no HTTPS).
    • Supports only GET and HEAD requests; other methods return 501 Not Implemented or 405 Not Allowed.
  2. Overview of Spring Framework Core Technologies

    The Spring Framework is built upon several core technologies that provide the foundation for application development. Key technologies include:

    • Dependency Injection (DI) / Inversion of Control (IoC)
    • Aspect-Oriented Programming (AOP)
    • Events
    • Resources
    • Internationalization (i18n)
    • Data Validation
    • Data Binding
    • Type Conversion
    • Spring Expression Language (SpEL)
  3. Overview of recommended Windows and Office activation tools

    Several tools are available depending on the activation method required:

    • DragonKMS: Used for Windows and Office suites via online KMS activation.
    • KMS10 (Xiao Ma): Supports offline activation; requires Office Retail versions to be converted to Volume (Channel Switch).
    • W10DigitalActivation / KMSAuto++: Created by Ratiborus for HWID digital activation and Office activation.
    • CMWTAT_Digital: A C# based tool specifically for Windows 10 digital rights activation.
  4. Overview of JVM Runtime Data Areas

    The JVM Runtime Data Area is the memory used to store data during program execution. It is divided into five main components, categorized by their visibility to threads:

    Thread-Private (Isolated to each thread):

    • Program Counter (PC) Register: Stores the execution position of the thread.
    • JVM Stack: Stores data regarding Java method calls and execution processes.
    • Native Method Stack: Stores execution data for native methods.

    Thread-Shared (Accessible by all threads):

    • Heap: The primary area for storing object instances and arrays.
    • Method Area: Stores class-level metadata (class structures, methods, fields).
    • Runtime Constant Pool: A part of the method area that saves constant static data.
  5. Overview of the Java Virtual Machine (JVM)

    The Java Virtual Machine (JVM) is the core implementation of the Java platform. It provides a runtime environment independent of underlying hardware and operating systems, allowing Java programs to execute on any system with an installed JVM. It achieves cross-platform compatibility ("Write Once, Run Anywhere") by converting Java bytecode (.class files) into machine code. Because the JVM primarily processes bytecode, it can serve as a general-purpose platform for multiple languages, not just Java.
  6. Overview of the Spring IoC Container

    The Spring IoC (Inversion of Control) container is the core of the Spring Framework. It is represented by the org.springframework.context.ApplicationContext interface, which is responsible for instantiating, configuring, and assembling Bean objects. Common implementations for standalone applications include ClassPathXmlApplicationContext and FileSystemXmlApplicationContext.
  7. Overview of the Spring Framework

    Spring is an open-source, lightweight framework and Dependency Injection (DI) container designed for building Java enterprise applications. Official documentation and resources can be found at spring.io and the Chinese community site springdoc.cn.
  8. Overview of Java 8 Time API (java.time)

    Introduced in Java 8 (JSR-310), the java.time package provides a modern, immutable, and thread-safe alternative to the legacy date-time classes. It separates concerns between dates, times, time zones, and durations.
  9. Overview of Spring Bean Scopes

    Bean scope defines the lifecycle and visibility of bean instances created from a single bean definition. Spring supports six primary scopes, four of which require a web-aware ApplicationContext.
    Bean ScopeDescription
    singleton(Default) Only one bean instance is created per Spring IoC container
    prototypeA new bean instance is created every time the bean is requested
    request(Web only) A new bean instance is created for every single HTTP request
    session(Web only) A new bean instance is created for every HTTP session
    application(Web only) A new bean instance is created for every ServletContext
    websocket(Web only) A new bean instance is created for every WebSocket connection
  10. Overview of Java Version Features and JEPs

    Java introduces new capabilities through Java Enhancement Proposals (JEPs). These range from language syntax updates (like Records and Sealed Classes) to JVM improvements (like ZGC and Virtual Threads). For the most current and detailed technical specifications of these features, developers should refer to the official OpenJDK JEPs page.
  11. Overview of SDKMAN! for SDK management

    SDKMAN! is a lightweight, multi-platform, open-source tool designed to manage multiple Software Development Kits (SDKs). It is commonly used to install and switch between different versions of tools such as Java, Kotlin, Gradle, and Maven.