Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Operation



  Hexadecimal and long in Java

Today I encountered a hexadecimal operation problem when I was implementing a bit reverse function for integer type. Basically in the implementation, there is an operation which is to do the bit operation & between one long integer and a hexadecimal number 0x00000000FFFFFFFFF. I was expecting that the high 32 bits of the long integer will be zeroed. But unfortunately I didn't get the expected result. The basic implementation is: long num=0x00F0_0000; num = (num>>16) | (num<<16); ...

   Hexadecimal,long,Java,bitwise operation     2014-06-18 23:44:32

  Why you should be careful about optimizations

In one of my current javascript projects, I have to deal with 3D voxel coordinates. And, sometimes, I have floating points coordinates which must be converted to integers in order to convert them into proper array index. Javascript is a wonderful language, really. However, implementations are sometimes weird, and the way to do something can sometimes have very huge impacts on the performances. Worse, sometimes the classical way is more expensive than the tricky one. So, some peo...

   JavaScript,Bitwise,Floor,Trick,Optimization     2012-05-02 11:29:20

  Will nil == nil be true in GoLang

There is some interview question may ask whether nil == nil be true in GoLang. Wil it be true. false or compilation error? To know the answer, some knowledge about nil in GoLang needs to be explained first. nil definition According to Go's official documentation, the definition of nil is // nil is a predeclared identifier representing the zero value for a // pointer, channel, func, interface, map, or slice type. var nil Type // Type must be a pointer, channel, func, interface, map, or slice type...

   GOLANG,NIL,NIL EXPLANATION     2021-08-08 02:54:15

  + operation on JavaScript objects

In JavaScript, there are two types of values: primitive and object. Primitives consist undefined, null, boolean, number and string. Other values such as array and function are objects. When applying + operation on different type of values, there would be three kinds of type conversion. Primitive conversion Number conversion String conversion There three type conversions have corresponding abstract operations in JavaScript: ToPrimitive(), ToNumber(), ToString(). For number additi...

   JAVASCRIPT,PROGRAMMING     2018-10-12 22:19:12

  Why Data Structures Matter

Our experience on Day 0 of JPR11 yielded a nice example of the need to choose an appropriate implementation of an abstract concept. As I mentioned in the previous post, we experimented with Michael Barker’s Scala implementation of Guy Steele’s parallelizable word-splitting algorithm (slides 51-67). Here’s the core of the issue. Given a type-compatible associative operator and sequence of values, we can fold the operator over the sequence to obtain a single accumulated v...

   Data structure,JPR,Importance     2012-01-08 10:13:56

  Three images to understand immutability of String in Java

String is immutable in Java. This means once a String object is created and instantiated, that object cannot be changed. Any operation on the String object will create a new Object instead of operating on the original content. Below are three images to help you understand String immutability in Java. Declare a String String s = "abcd"; s stores the reference to the string content created in the heap. Assign the String reference to another String variable String s2 = s; s2 stores the same ...

   STRING,JAVA     2016-03-11 20:58:28

  About tmpfs

tmpfs is another confusing name in Linux kernel, its implementation is in mm/shmem.c, shmem has no relation to tmpfs at first glance although we know tmpfs is based on memory. We can understand why we use this name by seeing where this is used. In a desktop Linux system, tmpfs is loaded usually: % grep tmpfs /proc/mountsdevtmpfs /dev devtmpfs rw,seclabel,nosuid,relatime,size=1958956k,nr_inodes=489739,mode=755 0 0tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev,relatime 0 0tmpfs /run tmpfs rw,seclab...

   tmpfs,Linux,file system     2013-06-14 12:10:56

  Mac shortcut key cheatsheet

More and more people are using Mac computers or switch from Windows or other OS to MacOS, there are lots of shortcut keys which can help improve the work efficiency or ease operations. This post will try to list some commonly used shortcut keys in Mac. But before that, let's first know some common keys on a Mac computer keyboard. There are four major function keys: Command, Control, Option and Shift. Most of the shortcut keys will combine the functional key and other key. Basic Command key is t...

   SHORTCUT,SCREENSHOT,COMMAND,SHORTCUT KEY,MACOS     2019-02-05 07:13:06

  Understand unsafe in GoLang

Before going to understand unsafe package in GoLang, the first thing needs to talk about is the pointer in GoLang. If you have a background of C language, you must know what pointer means and its usage. With pointer, you are free to operate any data at memory level which means you have great power, but this means that you have great responsibility as well. That's why it might be considered unsafe in lots of cases. Take a look at a simple example of doubling an integer. package main import "fmt"...

   GOLANG,UNSAFE,ZERO-COPY     2020-03-14 23:18:00

  How to optimize MySQL insert statement

For a big data system, one problem is the data access efficiency, one more problem is that the data insertion is very slow. We had a service system, the data loading process would take 4-5 hours. This time consuming operation is risky since if the program is interrupted during the loading process, it might be rerun, this will be troublesome. So it's necessary to improve the insertion efficiency for big data systems. Here we provide two optimization suggestions. 1. Combine multiple insert stateme...

   MySQL,insert,optimization     2012-10-24 22:03:13