java理解

java是一门很成熟的语言,各种用法、框架很多。

【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。

mysql

 

插入数据库记录时:主键用0或者null代替 会自动处理,如果是指定的需要唯一,now()当前日期。例如:INSERT INTO `synpay_order` VALUES (0,’1′, ‘Sn015’, ‘1’, ’11’, ’11’, ‘1’, ‘1’, ‘1’, ‘1’, ‘1’, ‘1’, ‘1’, ‘1’, ‘1’, now(),now(), ‘1’, ‘1’, ‘1’, ‘1’);

spring boot 学习

1.热部署
<!–热部署–>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

2.访问controller不执行,返回404,看下@SpringBootApplication注解的类位置,Spring Boot默认是扫描@SpringBootApplication注解的类的同包以及子包下的类。

3.报错

java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
 at sun.nio.ch.SocketDispatcher.read0(Native Method)
 at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
 at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
 at sun.nio.ch.IOUtil.read(IOUtil.java:197)
 at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
 at org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:147)
 at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1200)
 at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1149)
 at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:742)
 at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:404)
 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:667)
 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 at java.lang.Thread.run(Thread.java:745)

一些实验或者是规律

一些实验或者是一些规律,有助于理解这个社会。

马太效应

马太效应名字来自圣经《新约·马太福音》一则寓言:“凡有的,还要加倍给他叫他多余;没有的,连他的所有也要夺过来”。

老子:“天之道,损有余而补不足。人之道则不然,损不足以奉有余”。

《人月神话》读后感

《人月神话》主要讲了计算机软件研发效率的提升,不会像计算机硬件那么快,没有银弹。

计算机硬件技术更新换代快,我认为是因为计算机硬件研发时需要考虑的比较少,比较固定,比如只需要在运算速度、稳定性、兼容性等几方面提升就可以了;

计算机软件是面向各行各业,各种需求,在前期设计、后期开发的过程中,确实不会像硬件那样每两年提升一个数量级,但是随着软件基础设施的建立,基于云计算、开源项目、企业级api服务等的不算完善,新开发的应用型软件,应该会越来越快,简单和稳定。

面向对象编程思想

面向对象程序设计的特征

  • 封装
  • 继承
  • 多态

程序设计的基本原则SOLID,使得软件维护和扩展更加可能。

  • 单一功能原则
  • 开闭原则(open/closed principle),对扩展是开放的,对修改是封闭的
  • 里氏替换原则
  • 接口隔离原则
  • 依赖反转原则

编程中实现以上原则常用的设计模式有:

创建型模式:

结构型模式

行为型模式

  • 策略模式(strategy pattern)

参考: