java编程思想
左沩
本人本科计算机专业,大学一心学习java编程,熟悉各种主流框架技术,对常见算法非常熟悉,经常外接各种私活,曾在公司单任务过项目负责人,负责整个项目的开发与实施,项目经验丰富.
展开
-
从阅读ReentrantLock 源码到实现自己的分布式锁
由于公司现在的架构师微服务,每个服务都需要进行分布式部署,对于一些功能,可能就需要考虑用分布式锁,分布式锁的实现方案有很多种,为了更升入的理解,楼主考虑先学习下深度的学习下jdk的可重入锁ReentrantLock 打开ReentrantLock的源码便发现 它内部实现了aqs,通过继承aqs实现了公平锁Sync,非公平锁NonfairSync说到这我介绍下什么是aqsaqs 是一个抽象队列同步器,设计模式是模板模式。核心数据结构:双向链表 + state(锁状态)底层操作:...原创 2020-05-18 18:08:11 · 849 阅读 · 0 评论 -
从一道面试题来认识java类加载时机与过程
1 开门见山以前曾经看到过一个java的面试题,当时觉得此题很简单,可是自己把代码运行起来,可是结果并不是自己想象的那样。题目如下: class SingleTon { private static SingleTon singleTon = new SingleTon(); public static int count1; public static int cou转载 2017-11-22 17:00:44 · 216 阅读 · 0 评论 -
java类加载,反射,动态代理入门理解
1、java的类加载机制,参考文档http://blog.csdn.net/gjanyanlig/article/details/6818655JVM的类加载是通过ClassLoader及其子类来完成的,类的层次关系和加载顺序可以由下图来描述:1)Bootstrap ClassLoader负责加载$JAVA_HOME中jre/lib/rt.jar里所原创 2016-10-07 17:26:53 · 1394 阅读 · 0 评论 -
注解(Annotation)自定义注解入门
元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target, 2.@Retention, 3.@Documented, 4.@Inherited 这些类型和它们所支持的类在java.lang转载 2016-10-07 14:49:32 · 368 阅读 · 0 评论 -
enum入门
关键字枚举enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这是一种非常有用的功能。enum的特性1、创建enum时,编译器会给你生成一个相关的类,这个类继承java.lang.neum,因此定义的neum不能够继承,但可以实现接口2、enum常亮 Positionleft ,right("右方向"), fr原创 2016-08-27 20:11:23 · 776 阅读 · 0 评论 -
java面向对象编程思想的理解
1、我们总说java是一门面向对象编程的语言,那什么是面向对象呢?我是这样理解的,对象是事物存在的实体,现实中,随处可见的事物便是对象,如人类、书桌、计算机、高楼大厦等。人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常都会将对象划分为两个部分,即动态部分与静态部分。静态部分,顾名思义就是不能动的部分,这个部分被称为“属性”,任何对象都会具备其自身属性,如原创 2016-10-05 18:02:53 · 17852 阅读 · 0 评论 -
java内存栈java虚拟机
http://www.cnblogs.com/zuoxiaolong/p/jvm9.html 通过这几天对一个内存溢出程序的监控,学习了程序运行时对内存的使用机制,在这里和大家分享下。 Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此转载 2016-09-23 16:37:21 · 321 阅读 · 0 评论 -
如何调优JVM - 优化Java虚拟机(大全+实例)
标签: jvmjava虚拟机优化generationjdk2010-03-30 19:06 3455人阅读 评论(0) 收藏 举报堆设置-Xmx3550m:设置JVM最大堆内存 为3550M。-Xms3550m:设置JVM初始堆内存 为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。-Xss128k:设置每个线程的栈 大小。JDK5.0以转载 2016-09-23 16:29:05 · 285 阅读 · 0 评论 -
正则表达式基本入门必备知识
1、java正则表达式在我们对字符进行判断是否符合需求时,极大的方便了我们的编程。正则是一个难点,但是在开发中最常用的也就莫过于几个方法,和一些表达式(1)首先我们来掌握下,学习正则我们必须首先知道一些字符串的基本方法判断功能public boolean matches(String regex)分割功能public String[] split(String regex)替换功能原创 2016-09-22 17:53:52 · 319 阅读 · 0 评论 -
string ,stringbuffer
String常量池详解: 1.String使用private final char value[]来实现字符串的存储,也就是说String对象创建之后,就不能再修改此对象中存储的字符串内容,就是因为如此,才说String类型是不 可变的(immutable)。String类有一个特殊的创建方法,就是使用""双引号来创建.例如new String("i am")实际创建了2个 S原创 2016-08-20 17:54:48 · 320 阅读 · 0 评论 -
计算机中的二进制与位运算
参考文档http://blog.csdn.net/xiaochunyong/article/details/77487131、首先谈谈是如何定义原码、反码、补码的原码:原码:一个正数,按照绝对值大小转换成的二进制数;一个负数按照绝对值大小转换成的二进制数,然后最高位补1,称为原码。 比如 00000000 00000000 00000000 00000101 是 5的 原码;1原创 2016-09-02 15:42:24 · 6066 阅读 · 0 评论 -
gc回收入门理解
1、我们都知道当我们new出一个对象时,就在堆内存分配了一个空间,存储这个对象,那么这些对象什么时候会消失呢,如果不消失,那么显然,随着创建的对象越来越多,内存分配越来越多,必然导致内存溢出。java对象的回收是通过垃圾回收器实现的。1、那么第一个问题,什么样的对象可以被回收当一个对象失去引用时,便处于被回收的状态。但不能说对象一定会被回收2、对象什么时候被回收只要程序没有濒临原创 2016-08-28 09:24:20 · 1060 阅读 · 0 评论