Fork me on GitHub

Mysql增强

在传统企业中由DBA数据库管理员,写SQL,查询性能调优。

但是让大家只是了解?随着硬件和互联网,大数据的发展。例如:nosql 不仅仅是sql

关系型数据库OracleSqlServerMySQL

软肋,表的数据的关联关系非常的密切,多表联查,随着数据的增长,查询越来越慢。

数据量有一定限制!

  • Oracle单表可以支持到多少条数据?上亿

  • MySQL 1000万

  • nosql,最低亿级数据以上mongodb,hbase

MySQL旧的方式在新的形势下被淘汰:
1)视图
2)存储过程,函数
3)触发器

阅读更多...

静态变量与静态方法

1. 静态变量

static:可实现所有的对象共享一个成员变量。被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。

访问static成员变量有两种方式:

直接用类名.成员变量名访问;

定义类的对象,使用对象.成员变量名访问。

1
2
3
4
5
6
7
8
9
10
public class Name {
static String name="张三";

public static void main(String[] args) {
System.out.println("通过'类名.成员变量名'访问成员变量,名字是"+Name.name);

Name na = new Name();
System.out.println("通过'对象.成员变量名'访问成员变量,名字是"+na.name);
}
}

运行结果如下:

2. 静态方法

使用static修饰的方法称为静态方法或类方法,main()方法就是典型的静态方法。

1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。

如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量

如下程序第7行,静态方法main()中访问非静态成员age,编译报错。

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Name {
static String name="张三";
int age=25;

public static void main(String[] args) {
System.out.println("通过‘类名.成员变量名’访问成员变量,名字是"+Name.name);
System.out.println("通过‘类名.成员变量名’访问成员变量,名字是"+Name.age);

Name na=new Name();
System.out.println("通过‘对象.成员变量名’访问成员变量,名字是"+na.name);
System.out.println("通过‘对象.成员变量名’访问成员变量,年龄是"+na.age);
}
}

上述程序第11行通过对象来访问非静态成员

2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。
如下程序,在showInfo()中,直接访问非静态变量age和静态变量name。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Name {
static String name="张三";
int age=25;

public void showInfo(){
System.out.println("普通成员方法中直接访问成员变量,名字是"+name);
System.out.println("普通成员方法中直接访问成员变量,年龄是"+age);
}

public static void main(String[] args) {
Name na=new Name();
na.showInfo();
}
}

程序运行结果如下:

3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
如上程序在静态方法main()中访问非静态方法showInfo(),通过对象na来访问。

3. 静态初始化块

初始化块完成对数据的赋值功能。在类的声明中,可以包含多个初始化块,这些代码块会在当创建对象时依次执行。

如果使用 static 修饰的初始化块称为静态初始化块。

在类加载时执行,且只会执行一次;
静态初始化块只能给静态成员变量赋值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Name {
String name1;
String name2;
static String name3;

public Name(){
name1="张三";
System.out.println("构造方法为name1赋值");
}
{
name2="李四";
System.out.println("初始化块为name2赋值");
}

static {
name3="王五";
System.out.println("静态初始化块为name3赋值");
}

public static void main(String[] args) {
Name na=new Name();
System.out.println("num1"+na.name1);
System.out.println("num2"+na.name2);
System.out.println("num3"+name3);

Name nam=new Name();
}
}

执行结果如下:

由上述程序执行情况可以看出,静态初始化块最先被执行
其次执行,初始化块
最后执行,构造方法

十月

要怎样努力,才能成为很厉害的人?


朱炫:要怎样努力,才能成为很厉害的人?

1.读书,读到倦,网上有很多方法,但你从来沉不下心看。
2.学习,学到疼,网上有很多方法,但你从来沉不下心看。
3.开口说话,冷场也要说话,脸皮薄也要说话,挨打也要说话。
4.如果你现在不知道做什么,至少你还可以先从做一个牛逼的学生开始。
5.更漂亮更有趣的女孩,五年以后再找。
6.承诺是鞭子,不是兴奋剂。
7.年纪大了,也不要说什么心如死灰。

改变自己是非常,非常,非常痛苦的,我能看出来你一腔热血的优点,自然知道你孤僻懒散自以为是的缺点,方法很多,不过我不确定你吃不吃得了苦,我和你共勉吧。

在成为最厉害最厉害最厉害的道路上。

八月

追剧神器neets,你的私人追剧专家

推荐给喜欢看电视剧的朋友们。

网站neets上收集美剧、日剧、韩剧、泰剧、动漫等多个分类,

网站会自动收集电视剧的播放地址或下载地址,同时提示播放网站中是否有广告。

因为neets只是搜集的播放地址,所以不会不涉及版权问题。

neets,你的私人追剧专家

N皇后问题

以4皇后为例,其他的N皇后问题以此类推。所谓4皇后问题就是求解如何在4×4的棋盘上无冲突的摆放4个皇后棋子。在国际象棋中,皇后的移动方式为横竖交叉的,因此在任意一个皇后所在位置的水平、竖直、以及45度斜线上都不能出现皇后的棋子,例子

要求编程求出符合要求的情况的个数。四皇后问题有很多种解法,这里主要介绍一种经典的解决方法:回溯法

阅读更多...

金色阳光

![](http://omi0o6pp2.bkt.clouddn.com/006D2KSdly1feouu8fapyj30yi0m07px.jpg) ![](http://omi0o6pp2.bkt.clouddn.com/172719100434bd77cc41ly1fdranzupokj21w01hnwvb.jpg)

背包问题的贪心算法

算法knapsack的主要计算时间在于将各种物品依其单位重量的价值从大到小排序。因此,算法的计算时间上界为O(nlogn)。为了证明算法的正确性,还必须证明背包问题具有贪心选择性质。这种贪心选择策略对0-1 背包问题就不适用了。看下图例子,其中有3中物品,背包的容量为50千克。物品1重10千克;价值60元;物品2重20千克;价值100元;物品3重30千克,价值120元。因此,物品1每千克价值6元,物品2每千克价值5元,物品3每千克价值4元。若依贪心选择策略,应首先选择物品1装入背包,然而从图b中各种情况可以看出,最优的选择方案是选择物品2和物品3装入背包。首选物品1的两种方案都不是最优的。对于背包问题,贪心选择最终可得到最优解,其选择方案如图c所示。

对于0-1背包问题,贪心选择之所以不能得到最优解是因为在这种情况下,它无法保证最终能将背包装满,部分闲置的背包空间使每公斤背包空间的价值降低了。事实上,在考虑0-1背包问题时,应比较选择该物品和不选择该物品所导致的最终方案,然后再作出最好选择。由此就导出许多互相重叠的子问题。这正是该问题可用动态规划算法求解的另一重要特征。

代码如下:

阅读更多...
  • Copyrights © 2015-2023 高行行
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信