SEARCH KEYWORD -- MEMORY LEAK
Programmer professionalism
Programmer is a lifetime occupation. But first, as a programmer you need to love programming, rather than just an occupation to achieve other goals in life.Now if you plan to spend decades of life on programming, then you should continue to think about what is more efficient. In other words, how are you different from who you were a decade ago and how will you be better than who you are now a decade later?In my opinion, a programmer, regardless of his work, should improve himself in three aspect...
Programmer, Idea 2012-12-10 12:05:24
The internals of slice in GoLang
There are 3 components of slice:a) Pointer: Points to the start position of slice in the underlying array;b) length (type is int): the number of the valid elements of the slice;b) capacity (type is int): the total number of slots of the slice. Check the following code: package main import ( "fmt" "unsafe" ) func main() { var s1 []int fmt.Println(unsafe.Sizeof(s1)) } The result is 24 on my 64-bit system (The pointer and int both occupy 8 bytes). In the next example, I will use gdb to poke t...
Why is single threaded Redis so fast
Redis is a high-performance, in-memory key-value database. According to official test reports, it can support around 100,000 QPS (queries per second) on a single machine. However, Redis uses a single-threaded architecture in its design. Why does Redis still have such high performance with a single-threaded design? Wouldn't it be better to use multiple threads for concurrent request processing? In this article, let's explore why Redis has a single-threaded architecture and still maintains its spe...
REDIS,SINGLE-THREADED,MULTI-THREADING 2023-02-28 05:16:22
12 useful Chrome commands
Many useful features of Chrome don't show up on its menus. You can access them through the chrome:// command. In this article we will introduce 12 useful chrome:// commands. 1. chrome://flags It can be used to turn on or turn off some chrome features. 2. chrome://dns This command will show the domain name list caught by the browser. 3. chrome://downloads You can access this through chrome menu as well. The shortcut is Ctrl+J 4. chrome://extensions This command equals to Menu->Tools->Ext...
Performance comparison of string concatenation in Go language
In Go language, string concatenation is an inevitable operation during development, and efficient string concatenation is crucial for improving application performance. This article will delve into several common ways of string concatenation, provide performance comparisons, and offer optimization suggestions aimed at helping developers write more efficient code. Common ways of string concatenation In Go language, common ways of string concatenation include the following: Using the + operator fo...
COMPARISON,PERFORMANCE,STRING CONCATENATION 2024-05-13 00:33:20
What is goroutine?
Casual Talk Golang is quite enjoyable to write, aside from the tedious if err != nil checks. One of the fundamental reasons for the joy is goroutine, a core feature of Golang. Understanding goroutines in detail is worthwhile, as they contribute significantly to the pleasure of working with Golang. So, let's talk about goroutines, hoping to provide some insights to the readers. TL;DR: We'll start by talking about assembling a computer, then delve into some concepts of the operating system, such ...
EXPLANATION,GOLANG,GOROUTINE 2024-01-21 03:26:10
Fastjson just fixed a bug which might cause out of memory issue
Fastjson just fixed a bug which might cause service down a few days ago. This bug is caused by some mishandling of special character \x which is an escaped character to indicate hexdecimal number. The impact of this bug would be big if the attacker constructs a malicious data which would cause the service down. The code which causes the issue is in com.alibaba.fastjson.parser.JSONLexerBase#scanString, when a JSON string is passed in, fastjson would parse the string character by c...
ByteBuffer in Java
ByteBuffer is introduced in java.nio since Java 1.4. It provides a way of representing raw structured data such as from a file or from network. It enables fast access of underlying data compared to traditional ways like byte[] Prior to Java 1.4, if you want to represent a structured raw data, you need to create a byte[] and then having a set of checks to delimit the byte array to get the expected tokens. There are three ways to create a ByteBuffer: Wrapping an exiting array by calling ByteBuffe...
JAVA,BYTEBUFFER,ALLOCATION 2015-07-08 03:17:44
Server monitoring shell scripts
There are many open source server monitoring software such as cacti and nagios. Besides these, can we write our own shell scripts to monitor them? The shell scripts written by ourselves can fulfill our special requirements better and have a more detailed coverage. Below are some commonly used shell scripts used by Evangelist, an Oracle DBA. 1. Check network gateway traffic #!/bin/bash #network #Mike.Xu while : ; do time='date +%m"-"%d" "%k":"%M' day='date +%m"-"%d' rx_before='...
Server monitor,CPU,memory,shell 2013-08-30 21:56:14
Rust vs Go: how to choose the best programming language for your project?
Rust and Go, these two modern programming languages, with their unique advantages, are becoming hot topics in the developer community. Their competition in performance, security, simplicity, feature set, and concurrency not only influences developers' choices but also foretells future trends in software development. Battle of Performance: Rust's Precision vs. Go's Efficiency Rust, developed by Mozilla Research, has become the preferred choice for performance-sensitive applications due to its zer...
RUST,GO,GOLANG,COMPARISON 2024-02-10 19:36:44
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>