- 博客(15)
- 收藏
- 关注
原创 设计模式系列-工厂模式
面向对象设计的基本原则(1)OCP(开闭原则,Open Olosed Principle)—-软件的实现应该对扩展开放,对修改关闭 (2)DIP(依赖倒转原则,Dependence Inversion Principle)—-针对接口编程,不要针对实现编程 (3)LoD(迪米特法则,Law of Demeter)—-一个对象应当对其他对象有尽可能少的了解,”只与有直接关系的朋友通信,不要和陌生人
2017-07-15 14:38:09 429
原创 Android初体验-电话拨号APP
对Android很感兴趣,试着玩儿了一下,好玩儿,嘻嘻。按照这篇文章把环境搭好,我用的真机测试,记得把手机调成USB调试模式。 布局文件activity_main.xml<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schem
2017-07-15 09:58:19 769
原创 MySQL中高级知识-锁
有关MySQL锁的基础知识就不说了。总结来讲,读锁会阻塞写,但是不会阻塞读,而写锁会把读和写都阻塞。Myisam的读写锁调度是写优先,不适合主表引擎,偏读的时候才适用。InnoDB支持事务,采用了行级锁,可以实现更高的并发度。只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁。
2017-07-14 14:41:52 337
原创 MySQL中高级知识-查询截取分析
工作中发现慢SQL执行情况产生怎么做呢? 开启慢查询日志,设置阈值;explain+慢SQL分析;show profile;进行SQL数据库服务器的参数调优;查询优化(1)小表驱动大表,小的数据集驱动大的数据集; 先看看in和exists的使用区别 如select * from A where id in (select id from B);看成for循环的话等价于for select i
2017-07-13 20:21:40 517
翻译 聚类论文分析-A Hybrid Approach to Clustering in Big Data
谈谈对论文A Hybrid Approach to Clustering in Big Data的理解 在这篇论文中作者提出了一种新的聚类方法,叫clusiVAT算法,并且与 k-means, single pass k-means, online k-means,和clustering using representatives (CURE) 等算法进行了对比。对聚类的理解聚类(clustrer
2017-07-11 17:35:55 2026
原创 乐观锁和悲观锁机制
对于多数应用程序,可以优先考虑把数据库系统的隔离级别设置为Read Commited,这样做能够避免脏读,即避免读到未提交的数据,同时具有比较好的并发性能。这样做会导致不可重复读,幻读等这些并发问题,可以采用悲观锁和乐观锁来控制。MySQL当前事务的隔离级别是通过@@tx_isolation变量来设定的,默认隔离级别为Repitable Read,通过set transaction isolatio
2017-07-09 12:06:14 763
原创 MySQL中高级知识-索引优化
SQL语句性能下降的原因原因可能有以下几种: (1)SQL语句本身写得不够优秀 (2)索引失效 (3)关联(join)查询太多 (4)服务器参数设置(缓存,线程数等) ……SQL执行顺序人类写SQL和理解SQL的顺序大体是: SELECT DISTICT --> FROM ON (JOIN)-> WHERE -->GROUP BY --> HAVING --> ORDER BY -->
2017-07-08 17:36:07 731
原创 MySQL中高级知识-MySQL架构介绍
对于MySQL5.6,在Linux上安装好之后把配置文件/usr/share/mysql/my-default.cnf 拷贝为/etc/my.cnf作为配置文件。log-bin为二进制日志文件,log-error默认是关闭的,记录严重的错诶和警告信息,查询日志log默认关闭,记录查询的SQL语句,如果开启会降低MySQL的整体性能。frm文件存放表结构,myd存放数据,myi文件存放索引。MySQL
2017-07-08 16:13:04 649
原创 在线分布式数据库原理
事务单元之间的处理事务的ACID要求事务需要满足原子性、一致性、隔离性和持久性。事务具有了隔离性,为什么要分几种隔离级别呢?也就是未提交读、已提交读、可重复读和可串行化?实际上事务的这几种隔离级别对应了多个事务执行时对并发的容忍度,比如在读写场景中, 对应着可串行化,这样做可以具有较高的隔离性,但是系统性能很低,可以把读并行化,读和写加上读写锁,这时隔离级别成为可重复读,系统性能进一步提高。
2017-07-08 01:21:37 783
原创 一步一步理解Java NIO(上)
Java NIO简介Java NIO是从Java1.4版本开始引入的一个新的IO API,可以代替标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用方式完全不同,NIO是面向缓冲区的、基于通道的IO操作,NIO对文件的读写更加高效。通道和缓冲区Java NIO的核心在于通道(Channel)和缓冲区(Buffer)。通道表示IO设备(如文件、套接字等)的连接,Buffer用
2017-07-06 23:40:14 442
原创 Java多线程-线程八锁
所有的非静态同步方法用的都是同一把锁,即实例对象本身,或者说this对象,如果一个实例对象的非静态同步方法获取锁后,该实例对象的其他非静态同步方法必须等待获取锁的方法释放锁后才能获取锁。如果别的对象的非静态同步方法与该实例对象的非静态同步方法获取不同的锁,则不需要等待。 所有的静态同步方法用的也是同一把锁,即类对象本身,所以静态同步方法与非静态同步方法之间是不会有竞态条件的,但是一个静态同步方法获
2017-07-06 20:30:55 3791
原创 Java多线程-线程按序交替
线程按序交替编写一个程序,开启三个线程,这三个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出的结果必须按顺序显示,如:ABCABCABC……依次递归。使用Condition进行线程间通信即可(也可以使用wait()和notify()):package JavaThread;import java.util.concurrent.locks.Condition;impo
2017-07-06 18:38:29 890
原创 设计模式系列-单例模式
单例模式的作用:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。单例模式常见的应用场景(1)Windows系统的任务管理器,回收站。 (2)项目中读取文件配置的类,网站计数器等。 (3)应用程序的日志应用。 (4)数据库连接池的设计 (5)Servlet编程中的每一个Servlet,Spring中ApllicationContext,每一个Bean,以及SpringMVC中的控制
2017-07-06 14:44:56 273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人