SEARCH KEYWORD -- USER BEHAVIOR
Java Concurrency Basics: CountDownLatch and CyclicBarrier
CountDownLatch CountDownLatch can be used in synchronizing behavior among threads, it makes one or more threads wait for some actions in other threads to be completed. It has a property count which defines how many countDown() need to be called before other threads which called await() to be waked up. When a thread calls CountDownLatch.await(), the thread will be blocked until the value of count becomes 0. The initial value of count can be specified when creating the CountDownLatch instanc...
JAVA,JAVA CONCURRENCY,COUNTDOWNLATCH,CYCLICBARRIER 2018-03-25 07:02:40
A serious security vulnerability found in MySQL/MariaDB
Recently a serious security vulnerability was found in MySQL/MariaDB. It relates to the access to the database. The issue is described below.When a user connects to MariaDB/MySQL, a token (SHA over a password and a random scramble string) is calculated and compared with the expected value. Because of incorrect casting, it might've happened that the token and the expected value were considered equal, even if the memcmp() returned a non-zero value. In this case MySQL/MariaDB would think that the p...
Login with Amazon
Many websites now allow users to login to their websites with some third party accounts such as login with Facebook or login with Twitter. This is because Facebook and Twitter have many users and they also provide a good API for third parties to access the user data. This also eases the work of users since they no need to enter the same data again and again in each website. Now Amazon also releases its own login with Amazon plugin. Now third party websites can embed the login with Amazon button...
Login with Amazon,OAuth 2013-05-29 13:07:09
Why exception would be thrown when deleting element while looping through HashMap in Java
HashMap and other Collection types are frequently used in Java application programming. This post will explain why exception would be thrown when deleting element with Map.remove() while looping through a Map using Iterator. This issue would also occur to other Collection types such as Set, List. Below is a sample code snippet demonstrating the exception thrown. Map<String,String> map = Collections.synchronizedMap(new TreeMap<String,String>()); map.put("key1","value1"); map.put("ke...
JAVA,HASHMAP,CONCURRENTMODIFICATIONEXCEPTION 2018-06-30 12:49:09
Want to make your Eclipse run faster? Try this
Lots of us may find that our Eclipse takes a long time to launch, remember how many times you want to close this heavy machine and shout "F**K". Do you know why Eclipse launches slowly? Is it because we have too many plugins installed or we have created too many projects? No, it's not. Sometimes, it's because we don't have the correct configuration. So where to start? Go to eclipse.ini. First, you may want to add below line in your eclipse.ini configuration file: -Xloggc:gc.log This is to show w...
Eclipse,optimization,speed 2014-06-10 05:31:11
Practice of using spinlock instead of mutex
Spinlock and mutex are two important concepts in multithreading programs. They are used to lock some shared resource to prevent concurrent access which may affect data consistency. But they do have differences, what are the differences? when should we use spinlock instead of mutex? The Theory In theory, when a thread tries to lock a mutex and it does not succeed, because the mutex is already locked, it will go to sleep, immediately allowing another thread to run. It will continue to sleep until...
Spinlock,Mutex,Concurrency 2014-04-19 21:54:12
Java Interview Questions
Currently there are many articles online which summarize the list of Java interview questions. Some cover lots of basic questions and some cover some specific questions in specific area such as multithreading. In this post, we will not cover the really basic questions, we will cover something different. For basic question, you can read Java Interview Questions。 Basic What is primitive data type? How many primitive data types in Java? What are they? -- A primitive type is prede...
JAVA,SECURITY,INTERVIEW,CAREER,MULTITHREADING,QUESTION,JAVA INTERVIEW,JAVA CORE 2019-01-21 07:07:08
How to write your own DSL in Ruby
DSL(Domain Specific Language) is a language defined to fulfill some domain specific requirements to ease people's work. It can be used to define attributes and actions of a domain easily and cleanly. And it is often created based on some common observations or micro patterns of some domain. In Ruby world, there are quite a few places people can find DSL. For example, Ruby itself, Chef recipes. To create a class in Ruby, the traditional OOP way would look like. class User @name = nil @email =...
4 ways to obtain access token in OAuth 2.0
OAuth 2.0 is an authorization mechanism, it's ,mainly used for issuing access token. There are 4 ways to obtain access token as per RFC 6749. Authorization code Implicit Password Client credentials The third party application must obtain a client id and client secret from the target service before obtaining access token no matter which method to use. This is to prevent token to be used maliciously. Authorization code With this method, the third party application must first get an authorization...
OAUTH2,ACCESS TOKEN,REFRESH TOKEN 2019-06-29 07:12:03
What should video website do besides buying copyright?
Several major video sites in China seem to be designed by the same team, they look the same from the main interface to advertising scheme. The question is whether video sites really do not need to improve their products and user experience in addition to smashing the money to buy the copyright to attract users, is there no other choice? After reading this article, perhaps we can somehow have different views.The Web 2.0 era's video siteIn Web 1.0 era, the main way for users to obtain information...
Video site, Copyright,User experience 2013-03-06 03:15:39
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>>