上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 21 下一页
摘要: 1.属性访问修饰符定义为私有:private 2.对外提供get和set方法。 对属性的封装,在IDEA中有快捷键可以直接生成,键盘按住Alt+Insert,选择Getter and Setter即可自动生成get和set方法,前提条件是必须将属性的访问修饰符设置为私有private,这样才可以对其 阅读全文
posted @ 2020-12-22 09:32 LinYanyan 阅读(296) 评论(0) 推荐(0)
摘要: 1.便于使用者正确使用系统,防止错误修改属性。 2.有助于系统之间的松耦合,提高系统独立性。 3.提高软件的可重用性。 4.降低了构建大型系统的风险。 阅读全文
posted @ 2020-12-22 09:30 LinYanyan 阅读(895) 评论(0) 推荐(0)
摘要: 将类的成员属性的访问修饰符规定为私有(private),这样该属性在其它类就不能调用,更不可能被修改。 阅读全文
posted @ 2020-12-22 09:29 LinYanyan 阅读(77) 评论(0) 推荐(0)
摘要: 主键:是表中的唯一标示键。作用:保证实体的完整性;加快数据库的操作速度;增加新的表记录时,数据库会自动检索新记录的主键值,不允许该值与其他表中记录的主键重复;数据库会按主键值的顺序显示记录,如果没有设定主键,则按输入的顺序显示记录。 外键:是主键的从属,表示了两个表之间的联系。作用:使用外键可以避免 阅读全文
posted @ 2020-12-22 09:27 LinYanyan 阅读(69) 评论(0) 推荐(0)
摘要: 答:如果系统中存在临界资源(资源数量少于竞争资源的线程数量的资源),例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就必须进行同步存取(数据库操作中的排他锁就是最好的例子)。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等 阅读全文
posted @ 2020-12-20 21:47 LinYanyan 阅读(64) 评论(0) 推荐(0)
摘要: 答:不能。其它线程只能访问该对象的非同步方法,同步方法则不能进入。因为非静态方法上的synchronized修饰符要求执行方法时要获得对象的锁,如果已经进入A方法说明对象锁已经被取走,那么试图进入B方法的线程就只能在等锁池(注意不是等待池哦)中等待对象的锁。 阅读全文
posted @ 2020-12-20 21:45 LinYanyan 阅读(104) 评论(0) 推荐(0)
摘要: 一般采用2个方法 仲裁 当两个节点出现分歧时,由第3方的仲裁者决定听谁的。这个仲裁者,可能是一个锁服务,一个共享盘或者其它什么东西。 fencing 当不能确定某个节点的状态时,通过fencing把对方干掉,确保共享资源被完全释放,前提是必须要有可靠的fence设备。 阅读全文
posted @ 2020-12-19 19:42 LinYanyan 阅读(104) 评论(0) 推荐(0)
摘要: 1 select有最大并发数限制,默认最大文件句柄数1024,可修改。 epoll没有最大文件句柄数限制,仅受系统中进程能打开的最大文件句柄限制。 2 select效率低,每次都要线性扫描其维护的fd_set集合。 epoll只在集合不为空才轮训 3select存在内核空间和用户空间的内存拷贝问题。 阅读全文
posted @ 2020-12-19 19:40 LinYanyan 阅读(872) 评论(0) 推荐(0)
摘要: Java NIO Epoll 会导致 Selector 空轮询,最终导致 CPU 100% 官方声称在 JDK 1.6 版本的 update18 修复了该问题,但是直到 JDK 1.7 版本该问题仍旧存在,只不过该 BUG 发生概率降低了一些而已,它并没有得到根本性解决 Netty的解决方案: 对 阅读全文
posted @ 2020-12-19 19:39 LinYanyan 阅读(430) 评论(0) 推荐(0)
摘要: 1.Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。 2.泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。 3.这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。 4.泛型也使得代码整洁,我们不 阅读全文
posted @ 2020-12-18 17:05 LinYanyan 阅读(394) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 21 下一页