My colleagues went to listen to Ali last week openJDK The lecture of , Collected and sorted out . With Oracle Let go ,Java 8 Official support lasts until 2020 year 12 month ; For business users (Commercial Users),2019 year 1 No more free updates after 12 months .

Huawei openJDK characteristic

This paper mainly explains the concept of optimization between coprocesses , And performance optimization

Ali openJDK characteristic (Alibaba Dragonwell 8 )

1. Control the upstream Java 11 Of Java Flight Recorder (JFR) function .

2. Integrate JWarmup technology ( Preheating function )

3. Provide GC Problem diagnosis, etc Serviceability Improvement in the quality of life .

I organized my knowledge notes :

1、 process

A process is a program with some independent functions. It is a running activity on a data set , A process is an independent unit of the system for resource allocation and scheduling . Each process has its own independent memory space , Different processes communicate through inter process communication . Because the process is heavier , Occupy independent memory , So the switching overhead between context processes ( Stack 、 register 、 Virtual memory 、 File handle, etc ) The larger , But relatively stable and safe .

2、 Threads

A thread is an entity of a process , yes CPU Basic unit of dispatch and dispatch , It's a smaller, independent, basic unit than a process . The thread itself basically does not have system resources , Have only a few essential resources in operation ( Such as program counter , A set of registers and stacks ), But it can share all the resources owned by a process with other threads belonging to the same process . Communication between threads is mainly through shared memory , Context switching is fast , Less resource overhead , But it's easier to lose data than it's unstable .

3、 coroutines ( User mode thread is called coroutine for short )

Coroutine is a lightweight thread in user mode , The scheduling of the process is completely controlled by the user . It has its own register context and stack . When the coordination scheduling is switched , Save register context and stack elsewhere , At the time of cutting back , Restore the previously saved register context and stack , The direct operation stack basically has no kernel switching overhead , You can access global variables without locking , So context switching is very fast .

  • If the clock is blocked 、 We don't need thread switching any more , I write a logical flow scheduling thing in the process . Then we can take advantage of concurrency , It can also avoid repeated system calls , And the overhead of process switching , It's easy to give you thousands of logic streams every minute . This is it. User thread .
  • You can see from above , To implement a user mode thread, there are two problems that must be dealt with : One is blocking I\O Will cause the whole process to hang ; Second, due to the lack of clock blocking , Processes need to have their own ability to schedule threads . If an implementation requires each thread to call a method itself , Take the initiative to hand over control . So we call this user mode thread Collaborative , That is coroutines .

Daemon() The program is the server that runs all the time Program , Also known as Daemon . It usually runs in the background of the system , There is no control terminal , No interaction with the front desk ,Daemon Programs are generally used as system service send use .Daemon It's a long-running process , It usually runs after the system starts , It ends when the system is shut down . In general Daemon The program runs in the background , Because it has no control terminal , I can't talk to you The user interaction of the platform .Daemon Programs are generally used as service programs , Waiting for the client program to communicate with it . We also put the running Daemon Programs are called daemons .
5. Multi tenant concept
Multi tenant technology can share system instances among multiple tenants , At the same time, it can realize the personalized customization of the tenant's system instance . By using multi tenant technology, the common parts of the system can be shared , The parts of personality are isolated . By reusing resources among multiple tenants , Operation management and maintenance resources , Effectively save the cost of development and application . and , Sharing a single instance of the application between tenants , When the application is upgraded , All tenants can upgrade at the same time . meanwhile , Because multiple tenants share the core code of the system , So when the system upgrades , Just upgrade the same core code .

6.Wisp coroutines

Alicoprocess optimization .


A customized version of Alibaba's big data scenario ZenGC (G1 based) Release

openJDK More articles on knowledge arrangement and concepts

  1. Database knowledge arrangement < One >

    Relational database knowledge collation : One , Introduction to relational database management system : 1.1 The reason for using the database : Reduce the redundancy of stored data Improve data consistency Standards that can be used to build databases Stored data can be shared Easy to maintain data integrity Can realize the number of ...

  2. Spring Ioc Organize knowledge

    Ioc Organize knowledge ( One ): IoC (Inversion of Control) Inversion of control . 1.bean Another name for Each of us bean I have one element id attribute , A class used to uniquely identify instantiations , Actually name Attributes can also be used to ...

  3. 2.4G Wireless transceiver module / radio frequency RFM75 Debugging summary /RF Organize knowledge

    radio frequency RFM75 Communication is a device that both sender and receiver need to program , The channel frequency of both transmitter and receiver , The air transmission rate settings are consistent , When debugging, you must first tune one block and then the other , Otherwise, if there is a problem, we don't know whether the sender or the receiver has a problem . Debugging must be clear thinking . The right way ...

  4. 【OGG】OGG Organize the basic knowledge

    [OGG]OGG Organize the basic knowledge One .GoldenGate Introduce GoldenGate Software is a log based structured data replication software .GoldenGate Can realize the real-time capture of a large number of transaction data . Transform and post , Realize source database and ...

  5. kafka Organize knowledge

    title: kafka Organize knowledge date: 2019-06-18 10:59:46 categories: MQ tags: kafka --- Reprinted from : ...

  6. js event (Event) Organize knowledge

    event (Event) Organize knowledge , This article is compiled from the online materials , Friends in need can refer to   Mouse events The moment the mouse moves over the target element , First trigger mouseover After that, if the cursor continues to move over the element , It's constantly triggering mousemo ...

  7. Kali Linux Infiltrate basic knowledge ( Four ): Maintain a visit

    Kali Linux Review of the series of articles on infiltration of basic knowledge Maintain a visit After gaining access to the target system , The attacker needs to further maintain this access . Using Trojan horse programs . Backdoor programs and rootkit To achieve this goal . Maintaining access is an art form ...

  8. Kali Linux Infiltrate basic knowledge ( Two ) Vulnerability scanning

    Kali Linux Review of the series of articles on infiltration of basic knowledge Vulnerability scanning The network traffic Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan The network traffic Network traffic is network ...

  9. wifi Organize the basic knowledge

    from : WIFI Basic knowledge arrangement Here to wifi Of 802.11 Make a basic summary of the common knowledge in the protocol ...

Random recommendation

  1. Information Center Network ,Information-centric networking, ICN

  2. C# The performance overhead of value type parameter passing

    Performance issues Let's dig a little deeper. When data is passed into methods as value type paramet ...

  3. iOS Network load picture cache strategy ASIDownloadCache Cache optimization

    iOS Network load picture cache strategy ASIDownloadCache Cache optimization   In our actual project , In many cases, you need to load images from the network , Then put the picture in imageview It shows , But every time you ask from the Internet , Will seriously affect the use of ...

  4. What is happening in Crockford's object creation technique?

    What is happening in Crockford's object creation technique? ...

  5. mysql 1449 : The user specified as a definer ('montor'@'%') does not exist

    grant all privileges on *.* to root@"%" identified by "."; flush privileges;  

  6. python And time modular

    from time import * ''' class struct_time(tuple): pass ''' tuple1 = (, , , , , , , , ) s = struct_tim ...

  7. In depth understanding of JVM(3)—— Class loading mechanism

    1. Class loading time The whole life cycle of a class includes : load ( Loading ). verification ( Verification ). Get ready ( Preparation ). analysis ( Resolution ). initialization ( Initial ...

  8. 2013-2015 Aaronyang Another summary of , The shepherd boy points to Nani village

    I don't have time to nag about myself , But you are the people I like ,ay I'd like to share with you : Last year's ten thousand people read the summary link :< No education IT Life is not so sad , For programmers > Advance declaration : In this paper, adverse reactions : Please bring your own trash can , Ready to pack ...

  9. wx.setStorageSync(KEY,DATA)

    wx.setStorageSync Each wechat applet can have its own local cache , Can pass wx.setStorage(wx.setStorageSync).wx.getStorage(wx.getStorag ...

  10. Palindromic Squares Palindrome squares

    1.2.4 Palindromic Squares Palindrome squares Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 139  Solved: 66[Submit ...