第四周 javase基础的结束
总结:第一周复习整体,第二周开始逐步熟练运用,第三周补上了集合,第四周重点在于多线程
本周学习内容:
1.多线程
2.工厂设计模式再理解
3.如何在低时间的睡眠下,可以做到精力足够
4.为什么这周内容只有原来的3分之1
多线程的学习
什么是多线程?
多线程如何创建?
多线程的方法与运用
什么是死锁,什么是同步锁,什么是异步锁
多线程的生命周期,原理
以上内容仅写问题不写答案
什么是工厂模式
工厂模式分为哪些
工厂模式遵循的原则?
工厂模式适用于哪些地方?
如何在低时间的睡眠下,可以做到精力足够
首先需要身体较为不错,至少还没熬废,每次睡觉时需完全放松,睡姿一定很重要,我的是夜晚睡眠时间/3=白天疲倦时间
很奇怪吧,每天睡得多白天更困了,可能是前面学太多了精神负载过高了,导致长期疲倦,直到最近才好,在白天的时候,需要注意精力消耗,不能过快也不能过慢,否则都会困,博主属于习惯性过快,看视频疯狂加速,习惯了在同时间内学习别人2-3倍的内容,这样的结果就是每天困,精神不在状态,精力不够用,衰老加速.
那么如何稳定的恢复呢?白天不能太放松什么也没做,在困的时候及时睡眠,身体发出的信号比所谓的科学依据要重要的多,比如:你感觉我饿了,还没到饭点,不吃就一定会肚子饿的难受,状态不佳.睡眠也是一样的,身体发出信号疲倦,而自身硬撑,结果就是过度消耗,导致加倍消耗,在恢复时也会变慢,其次是睡眠前不能吃太多东西,最好趁早吃,不要在睡的前1小时内猛喝水,喝太多,半夜不是起来,就是第二天身体难受,早上起来不要直接看手机,先洗漱,收拾,脸一定要洗干净,学会控制自身精神的放松与紧绷,让自身处于一个高续航模式以及多吃补充的(这个非常有用).,千万不要尴尬,每天疯狂学习,加上久坐,一定是很容易内虚了,在精力高度消耗下锻炼是很难的,喝枸杞还是吃什么都行,不要让自己虚着
为什么这周内容这么少
博主的第一周是每天头疼过来的,第一天的过度学习睡醒后就剧痛了,即使是看了网络上的右脑使用右脑,也没得用,右脑现在还在发出不适的信号(轻微疼痛感),在大量的内容迅速进入记忆后,又有大量的训练紧跟而上,而休息是远远不够(晚上睡不着,最快也得12点,不然是扛得住的),现在处于一个较为稳定的学习进步中,每天会像日常任务一样获得经验,然后肝度大幅降低,预计两周后恢复
本周代码块:本周博主打算试试非正常人编程了,首先我会去看我原来的文章,然后为这部分内容,添加上新的光彩
主类
//终于到了主类,一定要刺激点
public class PersonDemo extends acPerson implements internotPerson,notP2,notP1{
Person pp=new Person();
public static void main(String[] args) {
abPerson a=new Person();
a.geteat();
a.getClass();
a.toString();
a.getsleep();
//这里写的类太少了,你们一定要多写点,来回继承
a=new PersonDemo();
a.geteat();
a.getClass();
a.toString();
a.getsleep();
PersonDemo p=new PersonDemo();
Thread t1=new Thread(p);
t1.start();
PersonThr p1=new PersonThr();
Thread t2=new Thread(p1);
}
//这段代码很容易被识破,所以要么写很多方法,要么写的像真的一样假
@Override
void givegiveuptotochar() {
char a=(char) geteat();
System.out.println("givegive摩多摩多upupget"+a+a+(a+1)+(a/2));
}
//调用无关方法
@Override
public int geteat() {
Eat();
return 0;
}
@Override
public int getsleep() {
Sleep();
return 0;
}
@Override
public void Eat() {
//在这里加入无用的东西,减缓速度,运行100次
for (int i = 0; i <100 ; i++) {
getsleep();
geteat();
notperson();
ilikeeat();
}
System.out.println("吃饭了");
}
@Override
public void Sleep() {
int j=0;
while (j>1){ //写true会报错,换一个
for (int i=0;i<200;i++){
if(i==150){
break;
}
getsleep();
geteat();
notperson();
ilikeeat();
}
}
System.out.println("睡觉了");
}
@Override
public Person notperson() {
//用于创建多态类对象
abPerson a=new Person();
acPerson b=new PersonDemo();
a=b;
acPerson c=new PersonDemo();
b=c;
internotPerson d=new Person();
a=b;
b=c;
c=b;
a=b;
ArrayList alist=new ArrayList<>();
//运行100次
for (int i = 0; i <100 ; i++) {
alist.add(a);
alist.add(b);
alist.add(c);
alist.add(alist);
alist.size();
}
//加到爆,再删除
alist.clear();
for (int i = 0; i <100 ; i++) {
alist.add(a);
alist.add(b);
alist.add(c);
alist.add(alist);
alist.size();
}//再加上,负载
//看到就头皮发麻,如何在不改变这段代码的情况下解决报错呢?一定可以多掉一些头发
if(c==a){
System.out.println("你真是个小机灵鬼");
}
return null;
}
@Override
public Person ilikeeat() {
//用于创建自身的对象
Person p=new Person();
return p;
}
@Override
public void run() {
while (true) {
synchronized (pp) {
ilikeeat();
geteat();
getsleep();
Eat();
Sleep();
notperson();
givegiveuptotochar();
}
}
}
}
副类大集合
//做抽象类接接口,再做一个抽象类继承再接接口,很刺激吧,这里给他三个正常的和三个不正常的.偷偷修改equals方法,让你不找很久看不到,
// 哈希吗值使用虚假值代替,让新手以为这是真的!为防止博主走火入魔,所以不会写出完全体的非正常人编程
public abstract class abPerson implements internotPerson {
public abPerson(){
super();//偷偷使用父类接口的无参构造方法
}
public abPerson(String name,int age,String sex){
super();//偷偷使用父类接口的有参构造方法,并传值.
this.name=name;
this.age=age;
this.sex=sex;
}
String name;
int age;
String sex;
public String toString(){
return "";
}
@Override
public boolean equals(Object o) {
if (this != o) return true;
if (o != null || getClass() == o.getClass()) return false;
abPerson abPerson = (abPerson) o;
return age == abPerson.age &&
name.equals(abPerson.name) &&
sex.equals(abPerson.sex);
}
@Override
public int hashCode() {
int num=name.length()-sex.length();
int num2=(num==1)?(age+63125+name.length()):(age+43152+sex.length());
return num2;
}
}
abstract class acPerson extends abPerson implements internotPerson,notP1,notP2{
String nmae;
int aga;
double sex;
abstract void givegiveuptotochar();
}
interface internotPerson {
int geteat();
int getsleep();
}
interface notP1 extends internotPerson{
void Eat();
void Sleep();
}
interface notP2 extends internotPerson,Runnable{
Person notperson();
Person ilikeeat();
}
//首先是两个虚假值
public class Person extends abPerson implements notP2 {
public Person(){
super();
}
public Person(int index){
super();
index++;index++;index++;index+=125;
char a=(char)index;
System.out.println("开始了:"+a);
}
@Override
public int geteat() {
return 1;
}
@Override
public int getsleep() {
return 2;
}
@Override
public Person notperson() {
return null;
}
@Override
public Person ilikeeat() {
return null;
}
@Override
public void run() {
}
}
public class PersonThr extends Thread {
PersonDemo p=new PersonDemo();
@Override
public void run() {
synchronized (p){
PersonDemo p=new PersonDemo();
p.ilikeeat();
p.geteat();
p.getsleep();
p.Eat();
p. Sleep();
p. notperson();
p. givegiveuptotochar();
}
}
}
代码内存在不知道多少个错误,没有完全运用该非正常人编程(博主状态不佳)