目录
机缘
-
实战项目中的经验分享
-
日常学习过程中的记录
-
通过文章进行技术交流
1、一个学期以来,也参加了许多大大小小的比赛,有收获也有遗憾,也获得了些许成绩,其中,最有印象的是湖南省第八届物联网应用设计竞赛,参加了技能赛,对于所给题目和各功能实现,我们需要在规定时间内写好代码并实现各功能,对于这个项目的实现,我觉得参加项目开发各为代码高手需要了解各代码功能及队友代码的功能,我们才能在最短时间内实现功能,当然自身基本功也需要扎实,这就需要选手平时多多努力了
2、平时我对学习过的知识点就会自己总结,并尝试用代码实现功能,我觉得这是个好习惯
3、同时也会在知乎、CSDN、小红书等社交软件上发表文章,尽自己所能帮助其他同学
收获
-
获得了多少粉丝的关注
-
获得了多少正向的反馈,如赞、评论、阅读量等
-
认识和哪些志同道合的领域同行
在CSDN中我共写了十一篇文章,提交了两次代码,收到了105枚小可爱,100多点赞,4588的阅读量,多次上榜,今后我会更加努力,写更多优质文章和代码,同时也希望结交更多志同道合的朋友
日常
-
创作是否已经是你生活的一部分了
-
有限的精力下,如何平衡创作和工作学习
创作目前还没有成为我日常生活中的一部分吧,但是我希望它能成为我日常生活的一部分,因为快一年了嘛,我创作了11篇,但是比较少,然后创作的也不是很质量,都是在有时间的情况下才会学习和总结,然后工作的话目前还没有呢,因为现在还是个学生,创作和学习的话我一般都是优先学习,因为我觉得只有学习好了才能更好的创作,然后我会花更多的时间学习,然后在某个夜晚,创作
成就
-
某个解题代码
-
某个项目实现代码
例题:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
import java.util.Scanner;
public class test3 {
public test3() {
}
public static void main(String[] args) {
System.out.print("请输入利润金额:");
Scanner in = new Scanner(System.in);
double bonus = 0.0;
double profit = in.nextDouble();
if (profit <= 0.0) {
System.out.println("输入错误");
} else if (profit > 0.0 && profit <= 10.0) {
bonus = profit * 0.1;
} else if (profit > 10.0 && profit < 20.0) {
bonus = (profit - 10.0) * 0.075 + 1.0;
} else if (profit >= 20.0 && profit < 40.0) {
bonus = (profit - 20.0) * 0.05 + 1.75;
} else if (profit >= 40.0 && profit < 60.0) {
bonus = (profit - 40.0) * 0.03 + 2.75;
} else if (profit >= 60.0 && profit < 100.0) {
bonus = (profit - 60.0) * 0.015 + 3.35;
} else {
bonus = (profit - 100.0) * 0.001 + 3.95;
}
System.out.println("奖金为:" + bonus * 10000.0 + "元");
}
}
项目实现代码,我会给同学展示一部分,完整版自行在主页下载
package com.imxiaoxin.aptidudegearserver;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.*;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@SpringBootApplication
public class AptidudeGearServerApplication {
// 存储当前所有客户端连接
public static ArrayList<Socket> clients = new ArrayList<>();
// 记录客户端连接信息
public static HashMap<String, String> machines = new HashMap<>();
private static String url = "jdbc:mysql://localhost:3306/demo510";
private static String username = "root";
private static String password = "123456";
static {
/* 初始化客户端数据*/
// 硬件端
machines.put("192.168.1.102", "machine_1");
machines.put("192.168.1.104", "machine_2");
// 安卓端
machines.put("192.168.1.107", "android_1");
}
public static Connection getConnect() {
Connection conn = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
// main函数,开启服务器,这就是一个普通的Java类,可以放到命令行里面执行的
public static void main(String[] args) throws IOException {
// 启动后端服务器
SpringApplication.run(AptidudeGearServerApplication.class, args);
// 1. 创建TCP服务器
ServerSocket server = new ServerSocket(6868);
// 2. 初始化客户端数据(改用静态代码块实现)
/*// machines.put("192.168.137.245", "machine_1");
machines.put("192.168.137.46", "machine_1"); // 长
// machines.put("192.168.137.176", "machine_1");
machines.put("192.168.137.120", "machine_2");*/
// 3. 多线程 - 采用线程池
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(
3, 5, 60L, TimeUnit.SECONDS, new ArrayBlockingQueue<>(4), Executors.defaultThreadFactory()
);
// 4. 监听客户端的连接
while (true) {
Socket client = server.accept();
System.out.println("有客户端连接了!!!");
threadPoolExecutor.submit(new Client(client, machines));
}
}
public static Object operateDB(String executeSql, String type, Connection conn) throws SQLException, ClassNotFoundException {
//1、导入驱动jar包
/*//2、注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//3、获取数据库的连接对象
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo510", "root", "123456");*/
/*// 2,3. 注册驱动并获取连接对象(注意: 每个线程都需要单独获取一个连接对象)
Connection conn = getConnect();*/
//4、定义sql语句
String sql = executeSql;
System.out.println("执行sql语句: " + sql);
//5、获取执行sql语句的对象
Statement stat = conn.createStatement();
//6、执行sql并接收返回结果
if (type.equals("query")) {
ResultSet resultSet = stat.executeQuery(sql);
//7、处理结果(DQL)
// System.out.println("返回结果: " + resultSet);
/*// 8、释放资源
stat.close();
conn.close();*/
return resultSet;
} else {
int count = stat.executeUpdate(sql);
//7、处理结果(DDL、DML)
// System.out.println("返回结果: " + count);
/*// 8、释放资源
stat.close();
con.close();*/
return count;
}
}
}
憧憬
未来如星辰大海般璀璨,
不必踌躇于过去的半亩方塘。
未来如星辰大海般璀璨,不必踌躇于过去的半亩方塘。回首过往,往昔多少奋斗、多少收获、多少失败,都无需太过挂怀;展望未来,前路浩浩荡荡,万事万物皆可期待。更美的风景永远在前方,广大青年应砥砺前行,用行动书写更美好的人生。
少年气,是历经千帆举重若轻的沉淀,
也是乐观坦然笑对生活的豁达。
"纵有狂风拔地起,我亦乘风破万里"是少年人的无畏无惧;"少年应有鸿鹊志,当骑骏马踏平川"是少年人的鸿鸽大志;"长风破浪会有时,直挂云帆济沧海"是少年人的乐观自信.少年气,是历经千帆举重若轻的沉淀,也是乐观坦然笑对生活的豁达。