[Java project practice] Proxy Pattern, static Proxy VS dynamic Proxy, proxypattern
In this blog post, we will compare and learn static proxy and dynamic proxy in the form of class diagrams and code, focusing on analyzing their respective advantages and disadvantages.
Definition
Proxy Pattern is the structure mode of an object. Proxy Pattern provides a Proxy object for an object and controls the reference
cases provides better performance and scalability than locks. If you strictly follow the use of volatile conditions-that is, the variable is really independent of the other variables and its own previous values-in some cases you can use the volatile substitution synchronized to simplify the code. However, volatile the code used is often more error-prone than code that uses locks. The pattern described in this article covers some of the most common use cases that can be used volatile instead syn
application of this pattern is exceeded, it will become very difficult to combine these two competing synchronization mechanisms.
Conclusion
Compared with the lock, the volatile variable is a very simple but fragile synchronization mechanism that will provide better performance and scalability than the lock in some cases. If you strictly follow the volatile usage conditions-that is, variables are truly independent from other variables and their previous values-in some cases, you can usevolatile
Address: http://blog.csdn.net/kongxx/article/details/7259837
One of Java Socket practices: Single-thread Communication
Java Socket practice 2 multi-thread Communication
Java Socket 3 transmission object
Java Socket practice
Java Theory and Practice: Concurrent collection Classes
util.concurrent In addition to many other useful concurrent building blocks, the Douglea package contains some of the major collection types
List and
Map high-performance, thread-safe implementations. In this month's
Java theory and Practice ,
on the Java Practice report, overall is not difficult, for me the biggest difficulty lies in the use of the collection, which also shows my seventh chapter and even the overall use of Java is not good, the seventh chapter because of the lack of proficiency because the code volume does not knock much, many things do not understand, The use of double-row sets and s
MyBusinessException("A message that describes the error.", e); }}
Therefore, only when you want to handle the exception to capture, otherwise only need to declare in the method signature let the caller to handle.9. Do not discard the original exception when packing the exceptionCapturing standard exceptions and wrapping them as custom exceptions is a common practice. This allows you to add more specific exception information and be able to
Each Java object has a hashcode () and Equals () method. Many classes ignore (Override) default implementations of these methods to provide deeper semantic comparability between object instances. In the Java Philosophy and Practice section, Java Developer Brian Goetz introduces you to the rules and guidelines you shoul
Java Theory and Practice: block memory leakage with weak referencesWeak references make it easy to express object lifecycle relationships.
Document options
DatabaseService mysqld Restart//Restart MySQL databaseNetstat-NTLP //See if MySQL port is 3306I use the local test remote connection, the author is using the Mysqlworkbench client if not connected, remember to switch off the firewall under the test service iptables Restart/stop/start switch off the firewall can be connected, it is the port problem scheme1/sbin/iptables- I.INPUT- PTcp--Dport3306 -jACCEPT//Open port: 3306/etc/rc.D/init.D/iptables Save//Save/etc/init.D/iptables restartorService I
-agent to create perf-pid.map text files. This file lists the 16-binary symbolic address, size, and symbol name. Then, from 2009 onwards, the Perf_events tool in Linux added support for JIT symbols. The tool examines the/tmp/perf-pid.map file to complete the check of symbols from the language virtual machine. For the second aspect, the JVM adds a new option,-xx:+preserveframepointer. With the efforts of Zoltán, Oracle and other engineers, the latest JDK9 and JDK8 have added this option to save t
exception thrown by a method should be defined at an abstract level that is consistent with what the method does, and not necessarily in accordance with the underlying implementation details of the method. For example, a method that loads a resource from a file, database, or JNDI should throw some kind of resourcenotfound exception (usually using an exception chain to hold the implied cause) instead of the lower IOException, SQLException, or N Amingexception.
Re-examining the orthodox view of
method that can be declared private or protected is declared as public. But unlike FindBugs, it uses bytecode analysis and many built-in bug pattern detectors to find common bugs in your code. It can help you find out where your code is intentionally or unintentionally deviating from good design principles. (For an introduction to FindBugs, see Chris Grindstaff's article, "FindBugs, part 1th: Improving code Quality" and "FindBugs, part 2nd: Writing custom detectors.") )
Design recommendations
constructor is set to private, default, or protected level. Four Serialization compatibility for different versions of serializable classesAny class that implements the Serializable interface has a static variable that represents the serialized version identifier:Private static final long serialversionuid;The value of the above serialversionuid is generated automatically by the Java Runtime Environment based on the internal details of the class. If
Scala, inheriting a base class is similar to Java, with a two-point limit, and (1) Overriding the method requires the Override keyword, (2) only the primary constructor can pass parameters to the base class constructor.
Markerfactory is a single case, once the definition is complete, its name represents the only instance of the singleton object, and the singleton can be passed to the function as if it were a typical passing instance.
Telescopic
Content:
Synchronized Quick Review
The improvement of the synchronized
Compare the scalability of Reentrantlock and synchronized
Condition variable
It's not fair
Conclusion
Resources
About the author
The evaluation of the paper
Related content:
Java Theory and Practice series
Synchronization is not the enemy
Reducing contention
IBM developer Kits for the
to IdeaIf it is much easier to add the JAVAP command to the compiler to view the bytecode file, here's how to add the JAVAP command to idea:(1) Open the Setting menu,(2) Find the Extension tool in the tool click Open,(3) Click the Green Plus button in the upper left corner of the left area to pop up an edit box like this, enter as prompted,(4) Click OK after completion, click on the setting window of apply and OK, to here has completed the JAVAP command to add,(5) View the added commands and ru
Java handles a little practice of excel in the accumulationTong Liang Date: 2008-11-061 Document DescriptionPurpose: The main purpose of this document is to share with you how to work with Excel in Java, part of the code from the Enterprise project management system V2.0 Source, part of the copy online.Background: Colleagues working with the Windows operating sys
Java5 adds a new class library concurrency set Java.util.concurrent, which provides rich APIs for concurrent programs that are easier and more flexible in Java 5. This article through a network server model, to practice JAVA5 multithreaded programming, the model used in the JAVA5 thread pool, blocking queues, can be reset locks, but also practice callable, future
In the previous article on the LIBSVM process and the simple Java code test to explain, this article is simple to libsvm how to practice in the project short description, inappropriate places welcome you to correct.The first step is to adjust the predictive function of LIBSVM, and I'm taking some of the code from the Svm_predict class to make predictive defenses, the code is as follows:/*** Classify incomin
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.