A subclass object does have all the properties and methods of the parent object, but the private properties and methods of the parent object are not accessible to the subclass. It’s like something you might own, but you can’t use.

Volatile guarantees visibility, not synchronization, in two cases: 1. The result of the operation does not depend on the current value of the variable (such as I ++, which is required to obtain the current value of I, increment it by 1, and assign it), or to ensure that only a single thread changes the value of 2. Volatile does not need to be used with other state variables to prevent instruction reordering optimization So using volatile to modify I and I ++ is not thread-safe

In terms of data sharing, forward pages and redirect pages can share Request data, whereas Redirect cannot

“Forward” is used when the user is logged in and redirects to the corresponding module redirect based on the user’s permission. When the user logs out, the user returns to the main page or redirects to another page

From the perspective of efficiency, the forward is high and the redirect is low

Redirect, the server sends a 302, SC_MOVED_PERMANENTLY request to the browser, permanently, not permanently (SC_MOVED_PERMANENTLY).